2389c0eb00db6b8ed151b68fc25f928b86e422a8
Docker-Home-Server Development
Docker Home Server Testing & Setup
Welcome to my home server development repository! Over the past 4-5 years, I’ve tested a wide variety of Docker containers for self-hosting and automation. This repo collects the containers I’ve found most useful, though some may be missing or not actively maintained. My goal is to organize each container into its own folder with a docker-compose.yml for easy setup and backup. Some configurations contain private information and will be refined before public release.
- adguard
Network-wide ad blocker and privacy protection. - airdcpp
Advanced Direct Connect client. - amule
Peer-to-peer file sharing client for the eDonkey network. - apprise
Unified notification service for multiple platforms. - aria2
Lightweight multi-protocol & multi-source command-line download utility. - audiobookshelf
Self-hosted audiobook server and web player. - authelia
Authentication and authorization server for your applications. - bazarr
Subtitle management for Radarr and Sonarr. - beets
Music library organizer and tagger. - btcpayserver
Self-hosted Bitcoin payment processor. - calibre
E-book management software. - calibre-web
Web-based interface for Calibre e-book library. - chd-converter
Tool for converting PlayStation disk images to CHD format. - code-server
VS Code running on a remote server accessible through the browser. - dashy
Self-hosted dashboard app for organizing links and services. - ddclient
Dynamic DNS update client. - deemix
Music downloader for Deezer. - deluge
Lightweight, open-source BitTorrent client. - dillinger
Online Markdown editor. - doublecommander
Cross-platform file manager. - elasticsearch
Distributed search and analytics engine. - filebrowser
Web-based file manager for your server. - filedrop
Simple file sharing app. - filegator
Web-based file manager. - flaresolverr
Proxy server to bypass Cloudflare protection. - foundryvtt
Virtual Tabletop for RPGs. - freshrss
Self-hosted RSS feed aggregator. - gamevault
Game library manager. - gameyfin
Game streaming server. - ghostfolio
Personal finance management. - gitea
Self-hosted Git service. - glances
System monitoring tool. - gluetun
VPN client for Docker containers. - gmod
Garry's Mod game server. - grafana
Analytics and monitoring dashboard. - grifter
Automation and scripting tool. - headphones
Music download manager for Usenet and torrents. - heimdall
Application dashboard for your server. - homarr
Modern dashboard for managing your home server. - homeassistant
Open-source home automation platform. - homebridge
HomeKit support for non-Apple devices. - immich
Self-hosted photo and video backup solution. - iptv-org-epg
EPG for IPTV. - it-tools
Handy web-based tools for developers. - jackett
API support for torrent indexers. - jdownloader
Download manager for various file hosts. - jellyfin
Open-source media server. - joplin
Note-taking and to-do application. - jupyter
Interactive notebooks for code and data. - karakeep
Self-hosted note-taking app. - kometa
Media library metadata manager. - lancommander
LAN party management tool. - lazylibrarian
Book download and management tool. - libation
Audiobook downloader and manager. - lidarr
Music collection manager for Usenet and torrents. - mailcow
Self-hosted mail server suite. - mailserver
General purpose mail server. - mariadb
Open-source relational database. - mastodon
Decentralized social network server. - mealie
Recipe management and meal planning. - mediacms
Open-source media content management system. - minecraft-paper_itzg
Minecraft Paper server by itzg. - mixpost
Social media scheduling platform. - mkvtoolnix
Tools for working with Matroska media files. - mongodb
NoSQL document database. - mosquitto-eclipse
MQTT broker for IoT messaging. - musicbrainz
Open music encyclopedia database. - n8n
Workflow automation tool. - navidrome
Music streaming server. - netbootxyz
Network boot server for OS installations. - nginxproxymanager
Web proxy management with a GUI. - nicotineplus
Soulseek client. Download music, tv, movies, ebooks, and more. - node-red
Flow-based programming for IoT. - nostr-relay
Relay server for Nostr protocol. - notifiarr
Notification integration for media servers. - nzbget
Usenet downloader. - ollama
Run large language models locally. - ombi
Media request management for Plex/Emby/Jellyfin. - omni-tools
Collection of useful tools. - open-assistant
Open-source AI assistant. - open-webui
Web UI for LLMs. - openbooks
Book search and download tool. - organizr
Unified web interface for your services. - paperless-ng
Document management system. - phpmyadmin
Web-based MySQL/MariaDB administration. - picard
Music tagger by MusicBrainz. - pidgin
Multi-protocol chat client. - plex
Media server for streaming your content. - plex-image-cleanup
Tool to clean up Plex image cache. - pms-docker
Plex Media Server Docker image. - podgrab
Podcast downloader and manager. - portainer-be
Portainer backend service. - portainer-ce
Portainer Community Edition. - postgres
PostgreSQL database. - postiz
Post management tool. - prometheus
Monitoring and alerting toolkit. - prowlarr
Indexer manager for Usenet and torrents. - qbittorrent
Open-source BitTorrent client. - radarr
Movie collection manager for Usenet and torrents. - rainloop
Webmail client. - readarr
Book collection manager for Usenet and torrents. - readarr-audio
Audio book collection manager. - recyclarr
Syncs trash/recycle settings for media managers. - romm
Retro game manager. - romvault
ROM management and auditing tool. - sabnzbd
Usenet binary downloader. - searxng
Privacy-respecting metasearch engine. - shoutrrr
Notification library for various services. - sociaboard
Social media management platform. - sonarr
TV series collection manager for Usenet and torrents. - soulseek
Peer-to-peer music sharing client. - spotify-playlist-generator
Tool to generate Spotify playlists. - spotisub
Spotify playlist subscription manager. - sptnr
Spotify playlist and library manager. - swag-letsencrypt
Secure Web Application Gateway with Let's Encrypt. - swag-letsencrypt_duckdns
SWAG with DuckDNS integration. - tautulli
Plex usage monitoring and analytics. - tdarr
Distributed media transcoding system. - tellytv
IPTV proxy for Plex. - traefik
Modern reverse proxy and load balancer. - trilium
Hierarchical note-taking application. - tubearchivist
YouTube archiving and management tool. - tvheadend
TV streaming server for DVB, ATSC, IPTV. - unpackerr
Automated extraction of archives for media managers. - vocechat
Self-hosted chat platform. - vscodium
Open-source build of VS Code. - watchtower
Automatic update for Docker containers. - webgrabplus
EPG (Electronic Program Guide) grabber. - wg-easy
Simple WireGuard VPN management. - whisper-webui
Web UI for OpenAI Whisper speech-to-text. - wireguard
Fast, modern VPN tunnel. - wireshark
Network protocol analyzer. - xbackbone
File sharing and image hosting platform. - xteve
IPTV proxy for Plex and Emby. - youtube-dl-material
Web UI for youtube-dl downloads. - youtube-dl-server
REST API for youtube-dl.
How To Use This Repo
Prerequisites
- Docker installed on your server or local machine.
- Docker Compose (if using
docker-compose.ymlfiles). - Portainer (optional, for managing containers via a web UI).
Getting Started
-
Clone the Repository
git clone https://github.com/yourusername/home-server.git cd home-server -
Choose a Container
- Browse the folders listed above.
- Each folder typically contains a
docker-compose.ymlor instructions for setup.
-
Configure Environment Variables
- Some containers require environment variables or custom configuration files.
- Review the comments in each
docker-compose.ymlor.envfile within the container's folder for setup details. - Comments are marked with
#for easy reference.
-
Start a Container
cd <container-folder> docker-compose up -d- Or use Portainer to deploy and manage containers/stacks through its web interface.
-
Access the Service
- Most services will be available at
http://localhost:<port>or via your server’s IP.
- Most services will be available at
Updating Containers
- To update a running container:
docker-compose pull docker-compose up -d - Or use Portainer's update features. Portainer > Stack > Editor > Update The Stack > Tick (Re-pull image and redeploy)
- Or enable automatic updates with Watchtower.
Deploy Watchtower to monitor and update your containers automatically:docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower
Stopping Containers
- To stop a container:
docker-compose down - Or stop containers from the Portainer dashboard.
Backup & Restore
- Backup your configuration files and persistent data folders regularly.
- Restore by copying your backups back into the appropriate folders before starting the containers.
For container-specific instructions, see the comments within each file.