Docker Compose Dev Setup Recipe
SkillsRecipe for setting up a local development environment with Docker Compose — Postgres, Redis, and your app.
3003/23/2026
Version 1
PublishedInitial version
Created 3/23/2026
Initial version — no previous version to compare
Recipe / Guide
# Docker Compose Dev Environment Recipe
## docker-compose.yml
\`\`\`yaml
services:
app:
build: .
ports:
- "3000:3000"
environment:
- DATABASE_URL=postgresql://postgres:postgres@db:5432/myapp
- REDIS_URL=redis://redis:6379
depends_on:
- db
- redis
volumes:
- .:/app
- /app/node_modules
db:
image: postgres:16-alpine
ports:
- "5432:5432"
environment:
POSTGRES_DB: myapp
POSTGRES_PASSWORD: postgres
volumes:
- pgdata:/var/lib/postgresql/data
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
pgdata:
\`\`\`
## Commands
- docker compose up -d — start all services
- docker compose logs -f app — follow app logs
- docker compose down -v — stop and remove volumes
- docker compose exec db psql -U postgres myapp — connect to DB
## Tips
- Use volumes for node_modules to avoid platform issues
- Add healthchecks for dependent services
- Use .env file for environment variables
- Use profiles for optional services (e.g. mailhog)