mise dev* command starts these services for you, so you rarely touch Docker directly.
Running GAIA for real rather than developing it? Self-Hosting uses a different, self-contained compose file that gaia up manages.
The compose file is infra/docker/docker-compose.yml. Nx wraps it as the docker project:
Default services
docker compose up with no profile starts these:
Each host port can be moved with an environment variable named after it, for example
MONGO_HOST_PORT=27018. The variable names are in the ports: lines of the compose file.
Profiles
A profile is a named group of extra services that only start when you ask for it with--profile:
Inspect and reset
mongo_data, pgdata, redis_data, chroma_data, rabbitmq_data and others), so it survives docker:down and restarts. To start from empty databases:
Troubleshooting
A port is already in use
A port is already in use
Find what holds it with
lsof -i :27017 (use the port from the error). Stop that process, or move GAIA’s port with its environment variable, for example MONGO_HOST_PORT=27018, and update the matching URL in apps/api/.env.A container keeps restarting
A container keeps restarting
Read its logs:
docker compose -f infra/docker/docker-compose.yml logs <service>.The API can't connect to a database
The API can't connect to a database
Run
docker compose -f infra/docker/docker-compose.yml ps and wait until the service shows healthy.
