Troubleshooting¶
Common Issues¶
502 Bad Gateway¶
Check:
docker compose ps
docker compose logs ses-server-1 --tail 50
Fix: Restart containers:
sudo -u ses sh -c 'cd /opt/ses && docker compose restart ses-server-1'
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 changed, recreate the database volume.
Certificate Warnings¶
Fix: Import the mkcert CA certificate into your browser's trust store:
certutil -addstore -user Root $(mkcert -CAROOT)/rootCA.pem
Code Changes Not Applied¶
Fix: Restart the server containers:
sudo -u ses sh -c 'cd /opt/ses && docker compose restart ses-server-1'
For structural changes (new files, dependencies), rebuild:
sudo -u ses sh -c 'cd /opt/ses && docker compose --env-file .env.secrets --env-file .env.local up -d --build'
Keycloak Roles Missing¶
Fix:
docker exec -w /app/src local-ses-server-1 python manage.py verify_keycloak_roles --fix
WSL Port Not Accessible from Windows¶
Fix: Enable Hyper-V inbound firewall:
Set-NetFirewallHyperVVMSetting -DefaultInboundAction Allow
Proxy Config Not Updating¶
Fix: Regenerate and reload:
docker exec -w /app/src local-ses-server-1 python manage.py regenerate_ems_configs --reload
Tenant URL Returns 404¶
Fix: Ensure the tenant exists:
python manage.py list_tenants
If the tenant exists but the URL returns 404, check the Domain records:
python manage.py list_tenants # shows domain/folder mapping
Tenant Required Error (Bare /admin/)¶
Accessing /admin/ without a tenant prefix returns a "Tenant Required" error. Use the full path:
https://<domain>/<institute>/admin/