self-hosted

My docker-compose based self-hosted setup including media centre, dns, home automation, and more

Stars
15

Martin's Self-hosting setup

Inspired by Ben Balter's blog posts and his repository benbalter/pi-hole-cloudflared-docker-compose-ansible-caddy and https://github.com/sebgl/htpc-download-box

flowchart TD
    subgraph HTPC/Download Server
    subgraph *arrs
    direction TB
    S[Sonarr]
    R[Radarr]
    end
    *arrs-->J

    *arrs-->TM[Transmission]
    TM-->O[Wireguard\nClient]
    TM-.->D[Download\ndirectory]
    D<-.->L[Library\ndirectory]
    P[Plex Media\nServer]-->L
    *arrs-.-> L & D
    PTS[plextraktsync]-->P
    PMM[plex-meta-manager]-->P
    TAUT[Tautulli]-->P
    BARR[Bazarr]-->*arrs
    U[Unpackerr]-->*arrs
    end

    J[Jackett]-->T[Torrent\nindexers]
    O-->V[VPN Server]
    V-->B[Bittorrent\nPeers]

    subgraph media metadata
    PTS-->TR[Trakt.tv]
    PMM-->TR
    PMM-->RT[Rotten\nTomatoes]
    PMM-->IMDB[IMDb]
    PMM-->*arrs
    PMM-->TMDB[tMDB]
    end

    subgraph subtitle providers
    BARR-->OS[Opensubtitles]
    BARR-->addic7ed
    BARR-->subscene
    BARR-->podnapisi
    end

    subgraph other
    AH[AdGuard\nHome]
    H[Huginn]
    HA[Home\nAssistant]
    C[Caddy]
    W[Watchtower]
    PG[Postgres]

    H-->PG
    end

    W-->DISCORD[Discord]

    C-->AH
    C-->HA
    C-->P
    C-->J
    C-->R
    C-->S
    C-->TM
    C-->BARR
    C-->H
    C-->TAUT

    linkStyle 3,4,5,6,7 stroke:blue;
    classDef internet stroke:#f66;
    classDef folder stroke:blue,fill:none,stroke-dasharray: 5 5;
    class L,D folder
    class T,V,B,TR,RT,IMDB,OS,addic7ed,subscene,podnapisi,DISCORD,TMDB internet
  • Adguard Home - self-hosted DNS server with ad-blocking
  • Plex Media Server - connects to my Synology NAS and hosts database
  • PlexTraktSync - syncs library and watch status to Trakt.tv
  • Plex Meta Manager - maintains Plex collections and playlists from configuration files
  • Tautulli - UI to monitor Plex statistics
  • Home Assistant - integrates all my IoT devices
  • Transmission - torrent client used by Radarr and Sonarr to fetch media
  • Radarr - monitor & download movies
  • Sonarr - monitor & download TV shows
  • Lidarr - monitor & download albums
  • Bazarr - fetch subtitles for Sonarr and Radarr
  • Jackett - proxy supporting private torrent tracker integration with Radarr, Sonarr, Lidarr
  • Unpackerr - extracts files for Radarr, Sonarr, Lidarr
  • Caddy - reverse proxy server
  • Gluetun - VPN client with Wireguard support. Transmission and Jackett connections are tunneled through this
  • Watchtower - check for container updates nightly
  • Huginn - allows configuring agents
  • PostgreSQL - for any apps that need a database. Huginn only at the moment

all of these services are managed via docker using docker-compose.

Once running, many need to be configured via their UIs. In my case, volume folders are backed up using Synology Hyper Backup to Backblaze B2.

Badges
Extracted from project README
Lint