A Docker-based media server stack with secure secrets management.
- Docker and Docker Compose
- Make
- Bash
- Clone this repository
- Run the setup script:
make setup
This project uses encrypted secrets for secure configuration. You'll need a password to encrypt/decrypt the secrets file.
Before starting the stack, you need to configure the correct paths in docker-compose.yml
. Update the following volume mappings according to your system:
# VPN Service
- /path/to/gluetun/config:/gluetun # VPN configuration directory
# Transmission
- /path/to/transmission/config:/config # Transmission settings
- /path/to/downloads:/downloads # Download directory
- /path/to/watch:/watch # Watch directory for auto-downloads
# Media Libraries
- /path/to/movies:/movies # Movies library
- /path/to/tv:/tv # TV Shows library
- /path/to/books:/books # Books library
- /path/to/media:/media # Combined media library for Jellyfin
# Application Configs
- /path/to/jackett/config:/config # Jackett configuration
- /path/to/radarr/config:/config # Radarr configuration
- /path/to/sonarr/config:/config # Sonarr configuration
- /path/to/readarr/config:/config # Readarr configuration
- /path/to/jellyfin/config:/config # Jellyfin configuration
Example configuration for a typical setup:
- /home/user/mediaserver/config/gluetun:/gluetun
- /home/user/mediaserver/config/transmission:/config
- /home/user/mediaserver/downloads:/downloads
- /home/user/mediaserver/watch:/watch
- /home/user/mediaserver/movies:/movies
- /home/user/mediaserver/tv:/tv
- /home/user/mediaserver/books:/books
- /home/user/mediaserver/media:/media
- Encrypt secrets:
make encrypt PASSWORD=your-password
- Decrypt secrets:
make decrypt PASSWORD=your-password
For the first time running the stack:
make first-start PASSWORD=your-password
-
Start the stack:
make start
-
Stop the stack:
make stop
-
Clean up all resources:
make clean
Command | Description |
---|---|
make setup |
Install required dependencies |
make encrypt |
Encrypt secrets file |
make decrypt |
Decrypt secrets file |
make first-start |
Initial start of the media stack |
make start |
Start the media stack |
make stop |
Stop the media stack |
make clean |
Clean up all resources |
make verify |
Verify integrity of encrypted secrets |
For detailed information about available commands:
make help
- Always keep your encryption password safe
- The
PASSWORD
parameter is required for encryption/decryption operations - Run
make first-start
only for the initial setup - Use
make start
for subsequent starts after initial setup
- Secrets are stored in an encrypted format
- The encryption/decryption process is handled securely through dedicated scripts
- Regular integrity verification is available through the
make verify
command