Skip to content

Quick start

Five questions, then one command to run on the machine with the GPU. You need Linux, Docker and about 20 GB of disk; the requirements have the detail.

Everything here runs in your browser. The script makes its own secrets on the target machine, so nothing sensitive exists on this page to leak.

  1. Host
  2. GPU
  3. Storage
  4. Owner
  5. Access
  6. Result

Where are you deploying Quasar?

This sets sensible defaults later, and it changes how the script makes things survive a reboot.

What GPU does this machine have?

This picks the encoder and the agent image.

AMD is verified. Intel takes the same Vulkan path but nobody has run it yet, so you would be first. If it gives you trouble, VA-API is a one-line change on that host afterwards.

You need the NVIDIA driver and nvidia-container-toolkitinstalled first. The generated script runs nvidia-ctk runtime configure and asks before restarting Docker.

Where should Quasar keep things?

Two directories. A small one for the certificate and the artwork cache, and one that holds a home directory per user. Everything a game writes goes in the second one: saves, settings, and whatever a launcher downloads into its library.

What you end up with

Who should own your save data?

Game containers drop to this user, so it decides who can read the saves from outside Quasar. It does not change what the node agent runs as: that is root, because it needs the Docker socket and the input devices.

How will you reach Quasar?

Quasar needs HTTPS. Gamepads, Escape capture and the microphone all need a secure context.

Every IP and hostname, comma separated. The certificate is generated once on first boot and names exactly these. Leave one out and that address gives you ERR_CERT_COMMON_NAME_INVALID, which cannot be clicked through, because the certificate does not claim that address at all.

Your proxy carries login and signaling. It does not carry the stream. Video is WebRTC straight from the GPU host to the browser, so the two still need a direct route: a LAN or a VPN. Publishing the login page does not publish the stream.

The certificate needs every browser-facing name as a subject alternative name, with IP addresses as IP SANs. Browsers ignore the common name. Include the full chain leaf first, and use an unencrypted key: there is nowhere to type a passphrase at boot.

Your install

Host
GPU
Base path
User homes
Owned by
Access
Certificate names
Public URL
Proxy
Change the ports

Run this on the host

Read it before you run it. It writes two files, sets one sysctl, loads the uinput module and starts the stack. The three secrets are generated on that machine by the script, so nothing sensitive came from this page.

The individual files, if you would rather write them yourself

deploy/docker-compose.yml

deploy/.env

Then open Quasar and continue withfirst-run setup. Prefer to read the whole thing instead? Install Quasar covers the same ground as prose.