Troubleshooting
Common problems and their solutions.
502 Bad Gateway
The proxy cannot reach the application.
Check:
docker compose ps
docker compose logs ses-server --tail 50
Fix: Restart the containers:
sudo -u ses sh -c 'cd /opt/ses && docker compose restart ses-server'
Database connection errors
Check:
docker compose logs postgres --tail 50
docker compose logs odyssey --tail 50
Fix: Verify DB_PASSWORD matches in .env.secrets. If it changed, recreate the database volume.
Code changes not applied
Fix: Restart the server containers:
sudo -u ses sh -c 'cd /opt/ses && docker compose restart ses-server'
For structural changes (new files, dependencies) rebuild:
sudo -u ses sh -c 'cd /opt/ses && docker compose --env-file .env.secrets --env-file .env.prd up -d --build'
Keycloak roles missing
Fix:
docker exec -w /app/src prod-ses-server python manage.py verify_keycloak_roles --fix
Proxy configuration not updating
Fix: Regenerate and reload:
docker exec -w /app/src prod-ses-server python manage.py regenerate_ems_configs --reload
Tenant URL returns 404
Fix: Ensure the tenant exists:
python manage.py list_tenants
"Tenant Required" error on bare /admin/
Accessing /admin/ without a tenant prefix returns a "Tenant Required" error.
Use the full path:
https://<domain>/<institute>/admin/
Quick reference
| Symptom | Likely cause | First action |
|---|---|---|
| 502 Bad Gateway | ses-server down | docker compose restart ses-server |
| Database errors | Wrong DB_PASSWORD | Compare .env.secrets |
| Roles missing | Keycloak mapping | verify_keycloak_roles --fix |
| 404 on tenant URL | Tenant missing | list_tenants |
| "Tenant Required" | Prefix missing | Use /institute/admin/ |