Server does not start
- Run
docker compose logs -fand check missing env vars first (SERVER_TOKEN,COMMUNITY_PUBLIC_URL, LiveKit keys). - Verify Postgres connectivity and database exists.
- Confirm migrations path is correct if overridden.
Cannot connect from internet
- Forward ports
80,443,7880,7881, and UDP50000-50060. - Open the same ports in host firewall/security group.
- Confirm DNS points to the current public IP.
TLS or domain errors
- Ensure the hostname in
CaddyfilematchesCOMMUNITY_PUBLIC_URL. - Make sure ports
80/443are reachable so certificate issuance can complete. - If using custom certs, check mounted file paths and restart Caddy.
Login or auth fails on community server
- Use a valid JWT in
Authorization: Bearer ...; community-server has no local login endpoint. - Verify
CORE_SERVER_URLis correct and community can fetch/auth/jwk. - If server registration fails, validate
SERVER_TOKENand upstream reachability.
Client calls https://localhost (wrong API host)
- Clients use the
api_urlstored in Core for your server. It comes from community-serverCOMMUNITY_PUBLIC_URLat startup registration. - Set
COMMUNITY_PUBLIC_URLto your real public URL, restart the community-server container, then reopen the app (or switch server) so it refetchesapi_url. - Do not rely on compose defaults for public URL — your
.envmust set the correct domain.
Voice/video issues
- Confirm LiveKit key/secret pair matches both `.env` and `livekit.prod.yaml`.
- Check
wss://...:7880is reachable and proxied. - For strict NAT/firewalls, ensure TURN-related ports are open.
If issues persist, verify networking, firewall, and TLS settings in your deployment environment.