Skip to content

prinzpiuz/Druv

Repository files navigation

          ____
         |  _ \ _ __ _   ___  __
         | | | | '__| | | \ \ / /
         | |_| | |  | |_| |\ V /
         |____/|_|   \__,_| \_/

          Setup Scripts for a HomeLab

How to Run These Services

  • Create Environment Files: In every service’s folder, copy the example environment file to a new .env file

  • Update the .env files and other configs for each service based on your requirements.

  • Run the main script to bring all your services down and up smoothly:

    ./down_and_up.sh

Using the Same Server Setup

If you want to set up your server environment to match this repo exactly

  • The setup script is built for Debian 12 (and compatible Debian-based systems).

  • Run the provided post-install script (it must be a Debian derivative)

    ./debian_post_install.sh


Stack

📦 Arr Stack

Name Description Config
Gluetun VPN service for containers /configs
qBittorrent Torrent client /configs
Radarr Movies automation /configs
Sonarr TV automation /configs
Readarr Book management /configs
Prowlarr Indexer manager /configs
Bazarr Subtitle automation /configs
Jackett Indexer proxy /configs
Recyclarr Config sync for *Arr apps /configs
Unpackerr Unpack Downloaded Files /configs
Flaresolverr Captcha solver /configs
SwurApp Companion utility /configs
Synthwave Music Downloader /configs

🔒 Backup Stack

Name Description Config
Backrest Simple backup management /configs

🖥️ Infrastructure Stack

Name Description Config
Docker Proxy Secure Docker socket proxy /configs
Homepage Dashboard for homelab configs
MySpeed Self-hosted speed test /configs

🎬 Media Stack

Name Description Config
Audiobookshelf Audiobooks streaming server /configs
Jellyfin Media server /configs
Jellyseerr Request manager for Jellyfin /configs

🌐 Public

You can fork this repository and customize the Caddy configuration by editing the Caddy Template File. After updating, you can reuse the deployment scripts located in the action files to deploy your changes.

The public services are reverse proxied using Tailscale, which allows secure access to only the services you want exposed to the public internet. Use the provided Public Compose File to deploy public services. Configure environment variables by copying and editing the env File as needed.

Name Description Config
Caddy Reverse proxy & web server /configs

🛠️ Tools Stack

Name Description Config
Qdarnt Vector DB /configs
BentoPDF PDF Tools /configs
dawarich Timeline Tracker /configs

Never Down Stack

Name Description Config
Uptime-Kuma Uptime Monitor /configs
Beszel System Monitoring /configs
Quantum File Browser File Browser /configs

Debug

Get container IP address:

docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container_name>

Useful Links