Open Source|All improvements go through Pull Requests with automated CI checks before review by@Leo-Galli|Join Discord|Contributing guide
Service issues

Troubleshooting — Services

Crash loops, environment errors and migration failures.

Services restart or crash-loop

docker compose logs --tail=100 <service>
CauseFix
Wrong env variableCompare .env with .env.example
Database not reachableCheck DATABASE_URL host/port and pg_isready
Redis not reachableCheck REDIS_URL — default is redis://redis:6379 in Docker
Port conflictChange port in .env or stop the conflicting service

Migration failures

# Check migration status
docker compose exec web npx prisma migrate status
 
# Force apply pending migrations
docker compose exec web npx prisma migrate deploy
SymptomFix
P3009 migrate failedCheck DATABASE_URL user has CREATE rights
P3010 migration too longReset: npx prisma migrate reset (dev only)
DeadlockRestart PostgreSQL, retry

Backend won't start

# Check Python errors
docker compose logs backend --tail=50
 
# Test manually
docker compose exec backend python -c "from aetheris_backend.main import app; print('OK')"

Common: missing AETHERIS_SECRET or wrong AETHERIS_BACKEND_DB path.

Worker not processing jobs

# Check BullMQ queues
docker compose exec redis redis-cli llen bull:provisioning:wait
 
# Check worker logs
docker compose logs worker --tail=100

Usually a 401 from a rotated hypervisor API key.

See also: Logging, Troubleshooting networking.