4a8ea0a8b668fbb2ec55693d1ad51537d99d8c76
Docker Media & Utility Stack
A comprehensive Docker Compose setup for media management, document processing, and various utility services.
🚀 Quick Start
# Clone the repository
git clone <your-repo-url>
cd <repo-name>
# Start all services
docker compose up -d
📋 Services Overview
🎬 Media Management
- Bazarr (6767) - Subtitle Management
- FlareSolverr (8191) - Cloudflare Bypass
- Jellyfin (8096) - Media Streaming Server
- Jellyseerr (5055) - Media Request Management
- Prowlarr (9696) - Indexer Management
- qBittorrent (7070) - Download Client
- Radarr (7878) - Movie Management
- Sonarr (8989) - TV Series Management
🎵 Music & Scrobbling
- Lidarr (8686) - Music management
- Lidarr Importer API (5110) - API of Maloja DB for Lidarr Import
- Maloja (42010) - Music Statistics
- Multi-Scrobbler (9078) - Music Scrobbling
- Maloja to Lidarr Importer - Scrobble Artist List for Custom Import
- Pinchflat (8945) - Youtube Content Downloader
- Soulseek (5030) - P2P Filesharer
- Soularr - Intermediary between Lidarr and Soulseek
📄 Document Management
- Gotenberg - Document Conversion
- OnlyOffice (8054) - Document Editing
- Paperless AI (3040) - AI Document Enhancement
- Paperless NGX (8100) - Document Management
- Redis - Paperless Broker
- MariaDB - Paperless Database
- Stirling PDF (8090) - PDF Processing
- Tika - Content Extraction
🏠 Personal Applications
- AdventureLog Frontend (8015) - Adventure tracking interface
- AdventureLog Backend (8016) - Adventure tracking API
- AdventureLog Database - PostgreSQL database
- Gramps (5511) - Genealogy management
- Gramps Celery - Background task processing
- Gramps Redis - Task queue
- KitchenOwl - (8081) Recipe and Grocery Manager
- LiteLLM (4000) - LLM API Flattening
- LiteLLM Postgres - LLM database
- Obsidian Remote (8181) - Note-taking
- Redbot - Discord Bot
- Syncthing (8384) - File synchronization
🛠️ System Utilities
- Docker Proxy (2375) - Docker API proxy
- FileBrowser (6633) - Web file manager
- FoundryVTT Watcher (30000) - FoundryVTT player login watcher
- Glances - Resource manager
- Homepage (7575) - Service dashboard
- iPerf3 Server (5201) - LAN Network Speedtest server
- RustDesk (hbbr) - Remote desktop relay
- RustDesk (hbbs) - Remote desktop signaling
- Newt - Notification service
- RackNerd API Converter (5000) - VPS monitoring API
- Speedtest Database - MariaDB for speedtest
- Speedtest Tracker (8180) - Network monitoring
- Watchtower - Container updates
🏗️ Architecture
The stack is organized into logical service groups:
/docker # Stateless / ephemeral services
├── docker-compose.yml # Main orchestration for ephemeral services
├── .env # Environment variables
├── .env.template # Template for new deployments
├── Services/
│ ├── filebrowser/
│ ├── homepage/
│ └── ... # Other stateless services
/docker-local # Stateful / database-backed services
├── docker-compose.yml # Orchestrates all local stateful services
├── Arrs/
│ ├── Sonarr/config/
│ ├── Radarr/config/
│ └── ...
└── [service-name]/config/
🔧 Configuration
Environment Variables
Key configuration is handled through .env
:
DOMAIN
- Your domain nameTZ
- Timezone (Pacific/Auckland)DATA_ROOT
- Media storage path (/data)- Database credentials for each service
📁 Directory Structure
Ensure these directories exist:
/data/ # Media storage
├── movies/
├── tv/
├── music/
├── torrents/
│ ├── incomplete/
│ └── complete/
🔒 Security Features
- No hardcoded secrets - All sensitive data in
.env
- Network isolation - Separate networks for different stacks
- Health checks - Automatic service monitoring
- Read-only mounts - Docker socket proxy with restricted access
🌐 Network Configuration
- arr_network (172.20.0.0/16) - Media services
- database_network (172.21.0.0/16) - Database services
Static IPs assigned for reliable service discovery.
🔄 Management Commands
# View running services
docker compose ps
# View logs
docker compose logs [service-name]
# Update a service
docker compose pull [service-name]
docker compose up -d [service-name]
# Stop all services
docker compose down
# Stop and remove volumes (⚠️ DATA LOSS)
docker compose down -v
🚨 Troubleshooting
Common Issues
- Port conflicts: Check if ports are already in use
- Permission issues: Ensure PUID/PGID match your user
- Volume mounts: Verify directory paths exist
- Network issues: Check firewall settings
Health Checks
Most services include health checks. View status:
docker compose ps
# Shows health status for each service
🔐 Security Notes
.env
contains sensitive data - keep it secure- Consider using Docker secrets for production
- Regular updates via Watchtower
- Monitor access logs
🤝 Contributing
- Follow the existing structure when adding services
- Add health checks to new services
- Use environment variables for configuration
- Update documentation for new services
⚠️ Important: This setup includes production credentials. Ensure .env
is never committed to version control.
Description