Within the backend directory, run the following command to stop and start the backend:
docker compose down && docker compose up --buildYou can run individual services from the docker-compose file. This is particularly useful during development:
docker compose up redis rabbitmqdocker compose up api workerFor local development, you might only need to run Redis and RabbitMQ, while working on the API locally. This is useful when:
- You're making changes to the API code and want to test them directly
- You want to avoid rebuilding the API container on every change
- You're running the API service directly on your machine
To run just Redis and RabbitMQ for development:```bash docker compose up redis rabbitmq
Then you can run your API service locally with the following commands
# On one terminal
cd backend
poetry run python3.11 api.py
# On another terminal
cd frontend
poetry run python3.11 -m dramatiq run_agent_backgroundWhen running services individually, make sure to:
- Check your
.envfile and adjust any necessary environment variables - Ensure Redis connection settings match your local setup (default:
localhost:6379) - Ensure RabbitMQ connection settings match your local setup (default:
localhost:5672) - Update any service-specific environment variables if needed
When running the API locally with Redis in Docker, you need to set the correct Redis host in your .env file:
- For Docker-to-Docker communication (when running both services in Docker): use
REDIS_HOST=redis - For local-to-Docker communication (when running API locally): use
REDIS_HOST=localhost
When running the API locally with Redis in Docker, you need to set the correct RabbitMQ host in your .env file:
- For Docker-to-Docker communication (when running both services in Docker): use
RABBITMQ_HOST=rabbitmq - For local-to-Docker communication (when running API locally): use
RABBITMQ_HOST=localhost
Example .env configuration for local development:
REDIS_HOST=localhost (instead of 'redis')
REDIS_PORT=6379
REDIS_PASSWORD=
RABBITMQ_HOST=localhost (instead of 'rabbitmq')
RABBITMQ_PORT=5672