{"id":13664814,"url":"https://github.com/martinbjeldbak/self-hosted","last_synced_at":"2025-10-29T00:31:12.396Z","repository":{"id":148540820,"uuid":"407869965","full_name":"martinbjeldbak/self-hosted","owner":"martinbjeldbak","description":"My docker-compose based self-hosted setup including media centre, dns, home automation, and more","archived":false,"fork":false,"pushed_at":"2025-01-16T10:36:33.000Z","size":502,"stargazers_count":23,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-05T06:44:53.152Z","etag":null,"topics":["adguardhome","bazarr","caddy","docker","docker-compose","home-assistant","huginn","lidarr","plex","radarr","sonarrr","tautulli","transmission","wireguard"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/martinbjeldbak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-18T13:36:56.000Z","updated_at":"2025-02-03T07:06:32.000Z","dependencies_parsed_at":"2023-05-20T11:15:33.787Z","dependency_job_id":"b6be02ee-a8c4-4373-952d-01fd19063525","html_url":"https://github.com/martinbjeldbak/self-hosted","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martinbjeldbak%2Fself-hosted","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martinbjeldbak%2Fself-hosted/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martinbjeldbak%2Fself-hosted/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martinbjeldbak%2Fself-hosted/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/martinbjeldbak","download_url":"https://codeload.github.com/martinbjeldbak/self-hosted/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238744030,"owners_count":19523221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adguardhome","bazarr","caddy","docker","docker-compose","home-assistant","huginn","lidarr","plex","radarr","sonarrr","tautulli","transmission","wireguard"],"created_at":"2024-08-02T05:03:08.353Z","updated_at":"2025-10-29T00:31:07.078Z","avatar_url":"https://github.com/martinbjeldbak.png","language":"Dockerfile","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Martin's Self-hosting setup\n[![Lint](https://github.com/martinbjeldbak/self-hosting/actions/workflows/lint.yml/badge.svg)](https://github.com/martinbjeldbak/self-hosting/actions/workflows/lint.yml)\n\nInspired by Ben Balter's [blog](https://ben.balter.com/2020/12/04/over-engineered-home-network-for-privacy-and-security/) [posts](https://ben.balter.com/2021/09/01/how-i-re-over-engineered-my-home-network/) and his repository [benbalter/pi-hole-cloudflared-docker-compose-ansible-caddy](https://github.com/benbalter/pi-hole-cloudflared-docker-compose-ansible-caddy) and \u003chttps://github.com/sebgl/htpc-download-box\u003e\n\n```mermaid\nflowchart TD\n    subgraph HTPC/Download Server\n    subgraph *arrs\n    direction TB\n    S[Sonarr]\n    R[Radarr]\n    end\n    *arrs--\u003eJ\n\n    *arrs--\u003eTM[Transmission]\n    TM--\u003eO[Wireguard\\nClient]\n    TM-.-\u003eD[Download\\ndirectory]\n    D\u003c-.-\u003eL[Library\\ndirectory]\n    P[Plex Media\\nServer]--\u003eL\n    *arrs-.-\u003e L \u0026 D\n    PTS[plextraktsync]--\u003eP\n    PMM[plex-meta-manager]--\u003eP\n    TAUT[Tautulli]--\u003eP\n    BARR[Bazarr]--\u003e*arrs\n    U[Unpackerr]--\u003e*arrs\n    end\n\n    J[Jackett]--\u003eT[Torrent\\nindexers]\n    O--\u003eV[VPN Server]\n    V--\u003eB[Bittorrent\\nPeers]\n\n    subgraph media metadata\n    PTS--\u003eTR[Trakt.tv]\n    PMM--\u003eTR\n    PMM--\u003eRT[Rotten\\nTomatoes]\n    PMM--\u003eIMDB[IMDb]\n    PMM--\u003e*arrs\n    PMM--\u003eTMDB[tMDB]\n    end\n\n    subgraph subtitle providers\n    BARR--\u003eOS[Opensubtitles]\n    BARR--\u003eaddic7ed\n    BARR--\u003esubscene\n    BARR--\u003epodnapisi\n    end\n\n    subgraph other\n    AH[AdGuard\\nHome]\n    H[Huginn]\n    HA[Home\\nAssistant]\n    C[Caddy]\n    W[Watchtower]\n    PG[Postgres]\n\n    H--\u003ePG\n    end\n\n    W--\u003eDISCORD[Discord]\n\n    C--\u003eAH\n    C--\u003eHA\n    C--\u003eP\n    C--\u003eJ\n    C--\u003eR\n    C--\u003eS\n    C--\u003eTM\n    C--\u003eBARR\n    C--\u003eH\n    C--\u003eTAUT\n\n    linkStyle 3,4,5,6,7 stroke:blue;\n    classDef internet stroke:#f66;\n    classDef folder stroke:blue,fill:none,stroke-dasharray: 5 5;\n    class L,D folder\n    class T,V,B,TR,RT,IMDB,OS,addic7ed,subscene,podnapisi,DISCORD,TMDB internet\n```\n\n* [Adguard Home](https://github.com/AdguardTeam/AdGuardHome) - self-hosted DNS server with ad-blocking\n* [Plex Media Server](https://www.plex.tv) - connects to my Synology NAS and hosts database\n* [PlexTraktSync](https://github.com/Taxel/PlexTraktSync) - syncs library and watch status to Trakt.tv\n* [Plex Meta Manager](https://metamanager.wiki/en/latest/) - maintains Plex collections and playlists from configuration files\n* [Tautulli](https://tautulli.com/) - UI to monitor Plex statistics\n* [Home Assistant](https://www.home-assistant.io) - integrates all my IoT devices\n* [Transmission](https://transmissionbt.com) - torrent client used by Radarr and Sonarr to fetch media\n* [Radarr](https://radarr.video) - monitor \u0026 download movies\n* [Sonarr](https://sonarr.tv) - monitor \u0026 download TV shows\n* [Lidarr](https://lidarr.audio) - monitor \u0026 download albums\n* [Bazarr](https://github.com/morpheus65535/bazarr) - fetch subtitles for Sonarr and Radarr\n* [Jackett](https://github.com/Jackett/Jackett) - proxy supporting private torrent tracker integration with Radarr, Sonarr, Lidarr\n* [Unpackerr](https://github.com/davidnewhall/unpackerr) - extracts files for Radarr, Sonarr, Lidarr\n* [Caddy](https://caddyserver.com) - reverse proxy server\n* [Gluetun](https://github.com/qdm12/gluetun) - VPN client with Wireguard support. Transmission and Jackett connections are tunneled through this\n* [Watchtower](https://containrrr.dev/watchtower/) - check for container updates nightly\n* [Huginn](https://github.com/huginn/huginn) - allows configuring agents\n* [PostgreSQL](https://www.postgresql.org/) - for any apps that need a database. Huginn only at the moment\n\nall of these services are managed via docker using docker-compose.\n\nOnce running, many need to be configured via their UIs. In my case, volume folders are backed up using Synology Hyper Backup to Backblaze B2.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartinbjeldbak%2Fself-hosted","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmartinbjeldbak%2Fself-hosted","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartinbjeldbak%2Fself-hosted/lists"}