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.

  • 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.
  • 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.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 452 KiB