Boilerplates: Containerization
Docker Compose Node Stack
Copy-ready local developer Docker Compose configuration linking Web App, Postgres DB, and Redis Cache containers.
docker-compose.yml
version: '3.8'
services:
# Node.js Application server
web:
build: .
ports:
- "3000:3000"
environment:
- NODE_ENV=development
- DATABASE_URL=postgresql://db_user:db_pass@postgres:5432/db_name
- REDIS_URL=redis://redis:6379
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
depends_on:
- postgres
- redis
# PostgreSQL Database container
postgres:
image: postgres:15-alpine
environment:
- POSTGRES_USER=db_user
- POSTGRES_PASSWORD=db_pass
- POSTGRES_DB=db_name
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
# Redis Cache container
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
pgdata: