Docker-Home-Server Development

Docker Home Server Testing & Setup

Welcome to my home server development repository! Over the past 4-5 years, Ive tested a wide variety of Docker containers for self-hosting and automation. This repo collects the containers Ive 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.

Below is a list of containers Ive tested and recommend for various home server tasks.

  • adguard
    Network-wide ad blocker and privacy protection.
  • amule
    Peer-to-peer file sharing client for the eDonkey network.
  • apprise
    Unified notification service for multiple platforms.
  • 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.
  • 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.
  • 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.
  • flaresolverr
    Proxy server to bypass Cloudflare protection.
  • gamevault
    Game library manager.
  • gameyfin
    Game streaming server.
  • 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.
  • 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.
  • kometa
    Media library metadata manager.
  • 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.
  • mastadon
    Decentralized social network server.
  • 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.
  • 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.
  • node-red
    Flow-based programming for IoT.
  • nostr-relay
    Relay server for Nostr protocol.
  • notifiarr
    Notification integration for media servers.
  • nzbget
    Usenet downloader.
  • ombi
    Media request management for Plex/Emby/Jellyfin.
  • open-assistant
    Open-source AI assistant.
  • 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
    Docker management GUI.
  • portainer-be
    Portainer backend service.
  • portainer-ce
    Portainer Community Edition.
  • postgres_data
    PostgreSQL database data container.
  • 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.
  • recyclarr
    Syncs trash/recycle settings for media managers.
  • requestrr
    Discord bot for media requests.
  • romm
    Retro game manager.
  • romvault
    ROM management and auditing tool.
  • sabnzbd
    Usenet binary downloader.
  • shoutrrr
    Notification library for various services.
  • 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.
  • vscodium
    Open-source build of VS Code.
  • watchtower
    Automatic update for Docker containers.
  • web-dev-compose.yml
    Web development Docker Compose setup.
  • 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.yml files).
  • Portainer (optional, for managing containers via a web UI).

Getting Started

  1. Clone the Repository

    git clone https://github.com/yourusername/home-server.git
    cd home-server
    
  2. Choose a Container

    • Browse the folders listed above.
    • Each folder typically contains a docker-compose.yml or instructions for setup.
  3. Configure Environment Variables

    • Some containers require environment variables or custom configuration files.
    • Review the comments in each docker-compose.yml or .env file within the container's folder for setup details.
    • Comments are marked with # for easy reference.
  4. Start a Container

    cd <container-folder>
    docker-compose up -d
    
    • Or use Portainer to deploy and manage containers/stacks through its web interface.
  5. Access the Service

    • Most services will be available at http://localhost:<port> or via your servers IP.

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.

Description
My complete docker container list with compose files. This repo is for updates and changes to my home server.
Readme AGPL-3.0 421 KiB