A curated collection of Docker Compose configurations for common services.
Inspired by Docker's awesome-compose.
Complete media management and download stack with VPN protection:
- Media Management: Sonarr, Radarr, Lidarr, Prowlarr
- Download Clients: qBittorrent, SABnzbd, NZBHydra2
- Supporting Services: Bazarr, Flaresolverr, Overseerr, Requestrr
- Infrastructure: Gluetun VPN, Watchtower auto-updater
Features: VPN-protected traffic, resource limits, health monitoring, security hardening
Secure, configurable Python development container:
- Multiple Python versions: 3.8-3.13, slim, alpine variants
- Development ready: Git integration, SSH keys, workspace mounting
- Security hardened: Minimal privileges, resource limits, health checks
- Cross-platform: Windows, Linux, macOS support
Features: Predictable user mapping, resource management, VS Code integration
Secure, configurable Ruby development container:
- Multiple Ruby versions: 2.7-3.3, slim, alpine variants
- Framework ready: Rails, Sinatra, gem development
- Security hardened: Minimal privileges, resource limits, health checks
- Cross-platform: Windows, Linux, macOS support
Features: Bundler integration, predictable user mapping, resource management
Each stack is self-contained with its own documentation and configuration:
# Choose your stack
cd arr-stack/ # For media management
cd python/ # For Python development
cd ruby/ # For Ruby development
# Follow the specific README in each directory
cp .env.example .env
# Edit .env with your configuration
docker compose up -dAll stacks in this collection include:
- ✅ Environment-driven configuration - No hardcoded values
- ✅ Security hardening - Minimal privileges, capability dropping
- ✅ Resource management - Configurable CPU and memory limits
- ✅ Health monitoring - Automatic service health checks
- ✅ Cross-platform support - Windows, Linux, macOS
- ✅ Comprehensive documentation - Setup guides and troubleshooting
This repository includes VS Code configuration for optimal editing:
davidanson.vscode-markdownlint- Markdown linting and formattingms-azuretools.vscode-docker- Docker supportredhat.vscode-yaml- YAML/Docker Compose support
- Markdown files format automatically on save
- Consistent code style across all configuration files
- EditorConfig support for cross-editor consistency
docker-compose/
├── arr-stack/ # Media management stack
│ ├── compose.yaml # Main configuration
│ ├── .env.example # Environment template
│ └── README.md # Complete setup guide
├── python/ # Python development environment
│ ├── compose.yaml # Python container config
│ ├── .env.example # Environment template
│ └── README.md # Complete setup guide
├── ruby/ # Ruby development environment
│ ├── compose.yaml # Ruby container config
│ ├── .env.example # Environment template
│ └── README.md # Complete setup guide
├── .vscode/ # VS Code configuration
│ ├── settings.json # Editor settings
│ └── extensions.json # Recommended extensions
├── .editorconfig # Cross-editor formatting
├── .markdownlint.json # Markdown linting rules
└── README.md # This file
When adding new stacks:
- Create dedicated directory with descriptive name
- Include comprehensive README with setup instructions
- Provide .env.example with all required variables
- Follow security best practices - non-root users, minimal privileges
- Add resource limits - prevent resource exhaustion
- Include health checks - ensure service reliability
Licensed under the Apache License, Version 2.0. See LICENSE for details.
This collection draws inspiration from:
- Docker Awesome Compose
- LinuxServer.io containers
- Community best practices for Docker security and configuration