with one click
docker-deployment
Docker Compose, container services, deployment
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Docker Compose, container services, deployment
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
| name | docker-deployment |
| description | Docker Compose, container services, deployment |
| File | Purpose |
|---|---|
docker-compose.yml | Development / local Compose stack |
deployment/docker-compose.yml | Production Compose stack |
deployment/env.sample | Sample production environment variables |
deployment/env.dev.sample | Sample development environment variables |
deployment/nginx/ | Nginx reverse-proxy configuration |
DEPLOYMENT.md | Step-by-step production deployment guide |
| Service | Image / Build | Role |
|---|---|---|
web | ./app (Dockerfile) | Django dev server on port 8000 |
worker | ./app (Dockerfile) | Celery task worker |
redis | redis:latest | Message broker and cache |
db | postgres:15 | PostgreSQL database |
# Copy and edit environment variables
cp deployment/env.dev.sample .env.dev
# Build images and start all services
docker compose up --build
# Run with detached containers
docker compose up -d --build
# View logs
docker compose logs -f web
docker compose logs -f worker
# Stop all services
docker compose down
docker compose exec web python manage.py migrate
docker compose exec web python manage.py create_admin_user
Use create_admin_user as the default onboarding command for least-privilege admin setup.
Use createsuperuser only when full superuser access is explicitly required.
| Aspect | Development (docker-compose.yml) | Production (deployment/docker-compose.yml) |
|---|---|---|
| Web server | Django runserver | Gunicorn behind host-level Nginx |
| Static files | Served by Django | Pre-built and served by Nginx |
| Env file | .env.dev | .env |
| Hot reload | Yes (volume mount) | No |
Required variables are documented in deployment/env.sample and deployment/env.dev.sample. At minimum, set:
EVY_SECRET_KEYEVY_POSTGRES_* varsEVY_REDIS_URLEVY_SITE_URL (production only)See DEPLOYMENT.md for the full production setup walkthrough, including Nginx, SSL (certbot), and backup configuration.
Based on SOC occupation classification
Steps for creating or modifying Django forms and adding validation
Steps for adding a new Django REST Framework API endpoint
Steps for creating or modifying a Django model
Steps for initiating the Django development server without Docker
Steps for generating and applying Django migrations
How to update project documentation