beta

Docker Compose Dev Setup Recipe

Skills

Recipe for setting up a local development environment with Docker Compose — Postgres, Redis, and your app.

3003/23/2026

Version 1

Published

Initial 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)