https://github.com/laywill/docker-compose
Well-documented Docker Compose stacks showcasing security best practices, resource management, and comprehensive documentation.
https://github.com/laywill/docker-compose
cross-platform development-environment docker docker-compose docker-compose-files media-automation python-development qbittorent radarr resource-management security-hardening sonarr vpn
Last synced: 27 days ago
JSON representation
Well-documented Docker Compose stacks showcasing security best practices, resource management, and comprehensive documentation.
- Host: GitHub
- URL: https://github.com/laywill/docker-compose
- Owner: laywill
- License: apache-2.0
- Created: 2025-07-10T14:42:31.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-08-15T15:33:23.000Z (6 months ago)
- Last Synced: 2025-08-15T16:27:45.993Z (6 months ago)
- Topics: cross-platform, development-environment, docker, docker-compose, docker-compose-files, media-automation, python-development, qbittorent, radarr, resource-management, security-hardening, sonarr, vpn
- Homepage:
- Size: 44.9 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Docker Compose Collection
A curated collection of Docker Compose configurations for common services.
Inspired by [Docker's awesome-compose](https://github.com/docker/awesome-compose).
## 🚀 Available Stacks
### 📚 [Arr Stack with VPN](./arr-stack/)
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
📖 **[Full Documentation](./arr-stack/README.md)**
### 🐍 [Python Development Environment](./python/)
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
📖 **[Full Documentation](./python/README.md)**
### 💎 [Ruby Development Environment](./ruby/)
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
📖 **[Full Documentation](./ruby/README.md)**
## 🛠️ Quick Start
Each stack is self-contained with its own documentation and configuration:
```bash
# 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 -d
```
## 📋 Common Features
All 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
## 🔧 Development Setup
This repository includes VS Code configuration for optimal editing:
### Recommended Extensions
- `davidanson.vscode-markdownlint` - Markdown linting and formatting
- `ms-azuretools.vscode-docker` - Docker support
- `redhat.vscode-yaml` - YAML/Docker Compose support
### Auto-formatting
- **Markdown files** format automatically on save
- **Consistent code style** across all configuration files
- **EditorConfig** support for cross-editor consistency
## 📁 Repository Structure
```
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
```
## 🤝 Contributing
When adding new stacks:
1. **Create dedicated directory** with descriptive name
2. **Include comprehensive README** with setup instructions
3. **Provide .env.example** with all required variables
4. **Follow security best practices** - non-root users, minimal privileges
5. **Add resource limits** - prevent resource exhaustion
6. **Include health checks** - ensure service reliability
## 📄 License
Licensed under the Apache License, Version 2.0. See [LICENSE](./LICENSE) for details.
## 🔗 Inspiration
This collection draws inspiration from:
- [Docker Awesome Compose](https://github.com/docker/awesome-compose)
- [LinuxServer.io](https://www.linuxserver.io/) containers
- Community best practices for Docker security and configuration