Skip to content

Check your install

Work down the list. Each step assumes the ones above passed.

Terminal window
curl http://localhost:8080/health

Expected: {"status":"ok","db":"ok"}. This works before HTTPS is set up.

Terminal window
docker ps --filter label=io.quasar.installation
Machine You want
Combined host quasar-recovery, quasar-postgres, quasar-control-plane, quasar-node-agent
Control-only host quasar-recovery, quasar-postgres, quasar-control-plane
GPU host quasar-recovery, quasar-node-agent

All should be healthy. The seed (quasar-seed) is not listed. With your own database there is no quasar-postgres.

The recovery actor lists the same services and anything in the way:

Terminal window
docker exec quasar-recovery quasar-recovery status

On a legacy Compose install, use docker compose -f deploy/docker-compose.yml ps.

Your machine should be in Admin ▸ Fleet ▸ Hosts with a recent heartbeat. From the shell:

Terminal window
curl http://127.0.0.1:9091/health
{"status":"ok","sessions":0,"connected":true}

connected: false means the agent can’t reach the control plane. On a GPU host, the enrollment string may be spent or expired: create a fresh command. See When it says no.

4. The GPU was found, and an encoder with it

Section titled “4. The GPU was found, and an encoder with it”

Open the host in Admin ▸ Fleet ▸ Hosts. The GPU should be listed with a render node and an encoder. A GPU with no encoder is the common failure: see Install and startup problems.

Terminal window
ls -l /dev/dri

No renderD128 means no GPU is available to containers.

Terminal window
ls -l /dev/uinput

It must exist and be writable by the agent. The host detail page’s readiness check tests this.

Launch something from the library in Chrome. You should see moving video and hear audio.

Press Ctrl+Alt+Shift+Q, turn on performance stats, and check the frame rate is close to the tier you launched.

The certificate must name the address you browse to. The names come from QUASAR_PUBLIC_HOST and QUASAR_TLS_HOSTS (on legacy Compose, QUASAR_TLS_HOSTS in deploy/.env). To fix a missing one, see HTTPS and certificates.

Terminal window
docker exec quasar-control-plane \
sh -c 'openssl x509 -in /var/lib/quasar-control/tls/cert.pem -noout -text' \
| grep -A1 'Subject Alternative Name'

On legacy Compose, use docker compose -f deploy/docker-compose.yml exec quasar-control-plane instead of docker exec quasar-control-plane.

See Install and startup problems and Health and logs.