Because we're too dumb for complexity, development is super simple!
- Clone this repo
- Navigate to the
dev
directory - Use our dumb-simple development script:
# Start development environment
./dev.sh up
# Stop development environment
./dev.sh down
# View logs
./dev.sh logs
# Rebuild without cache
./dev.sh rebuild
# Clean everything up
./dev.sh clean
Our development setup is sophisticatedly simple:
- Builds from local Dockerfile instead of pulling image
- Mounts local directory for live code changes
- Uses development-specific settings
- Adds helpful labels for container identification
- Hot-reloading for faster development
The docker-compose.dev.yml
includes:
- Local volume mounts for live code updates
- Development-specific environment variables
- Container labels for easy identification
- Automatic container restart for development
Our volume setup uses a technique called "volume masking" for handling node_modules:
volumes:
- ../:/app # Mount local code
- /app/node_modules # Mask node_modules directory
This setup:
- Prevents local node_modules from interfering with container modules
- Preserves container's node_modules installed during build
- Avoids platform-specific module issues
- Keeps development simple and consistent across environments
dev/
├── README.md # You are here!
├── docker-compose.dev.yml # Development-specific Docker setup
└── dev.sh # Simple development helper script
That's it! We told you it was dumb simple! If you need more complexity, you're probably in the wrong place!