~/emplio by default. Find your symptom below.
The sign-in code never arrives
The sign-in code never arrives
Without A code works for 10 minutes. To email codes, see Optional features.
RESEND_API_KEY, codes are written to the log instead of emailed:Docker isn't running or can't be reached
Docker isn't running or can't be reached
Start Docker Desktop, or the Docker service on Linux, then run the installer again. If it says permission denied, run
sudo usermod -aG docker $USER, log out and back in, and try again.A port is already in use
A port is already in use
Emplio uses ports 3000 and 4000, and 80 and 443 on a server. Find what holds one, for example port 3000:Stop that program, then run
docker compose up -d.The HTTPS address doesn't work
The HTTPS address doesn't work
Check that your address’s DNS record points at this server, and that ports 80 and 443 are open. Once both are right, the certificate arrives by itself within a few minutes. See what Caddy says:
The machine runs out of memory
The machine runs out of memory
Plan for 4 GB, plus 2 GB for each person working at once. See what uses it with
docker stats. Add memory, or lower COMPUTER_MEMORY in .env and run docker compose up -d.Emplio's computer or browser won't start
Emplio's computer or browser won't start
The runner starts them. Look at its log:If the images are missing, run
./setup.sh again to fetch them.Check it’s healthy
app, postgres, gitea and runner should be running. gitea-init, computer-image and browser-image finish their job and exit, which is normal. The health check answers {"ok":true}.
Read the logs
app for runner, postgres, gitea, gitea-init or caddy. The installer’s own output is in setup.log.
Restart
docker compose restart. After changing .env, run docker compose up -d instead. Your data stays.
Configuration
Every setting in
.env.Architecture
What each service does.

