{"id":51032591,"url":"https://github.com/benaytms/homelab","last_synced_at":"2026-06-22T02:01:24.292Z","repository":{"id":365164071,"uuid":"1270854147","full_name":"benaytms/homelab","owner":"benaytms","description":"Self-hosted homelab with 25 services.","archived":false,"fork":false,"pushed_at":"2026-06-16T06:18:12.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-16T07:48:47.923Z","etag":null,"topics":["bash","bash-script","docker","docker-compose","python","self-hosted"],"latest_commit_sha":null,"homepage":"","language":"Python","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/benaytms.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-16T05:36:11.000Z","updated_at":"2026-06-16T06:20:39.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/benaytms/homelab","commit_stats":null,"previous_names":["benaytms/homelab"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/benaytms/homelab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benaytms%2Fhomelab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benaytms%2Fhomelab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benaytms%2Fhomelab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benaytms%2Fhomelab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benaytms","download_url":"https://codeload.github.com/benaytms/homelab/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benaytms%2Fhomelab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34630770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bash","bash-script","docker","docker-compose","python","self-hosted"],"created_at":"2026-06-22T02:01:23.179Z","updated_at":"2026-06-22T02:01:24.249Z","avatar_url":"https://github.com/benaytms.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Homelab\n\nA self-hosted homelab running on my personal machine (Ryzen 5 5600X / RX 6700 XT), \nmanaged entirely with Docker Compose. It covers media, AI, photo and file sync, security, \nnotifications, and a few other things — all running locally and accessible remotely via Tailscale.\n\n\n## Services\n\nThe stack is built around a few core pillars:\n\n- **Media** —\u003e [Jellyfin](https://jellyfin.org/) handles video streaming with transcoding using the GPU. \nThe arr stack ([Radarr](https://wiki.servarr.com/radarr), [Sonarr](https://wiki.servarr.com/en/sonarr), [Lidarr](https://wiki.servarr.com/en/lidarr), [Bazarr](https://github.com/morpheus65535/bazarr)) automates media management, with [Prowlarr](https://github.com/Prowlarr/Prowlarr) as the indexer aggregator and [qBittorrent](https://www.qbittorrent.org/) as the download client.\u003cbr\u003e\nThe subtitles for portuguese-brazilian is very lacking for more niche tv shows and movies, so a solution\ni found was to use AI-powered subtitle translation via Ollama, and although not perfect, it's good\nenough for a few occasions. [Lingarr](https://github.com/lingarr-translate/lingarr) is the tool that manages the translations.\n\n- **Music** —\u003e [Navidrome](https://github.com/navidrome/navidrome) serves as a self-hosted music server with Last.fm scrobbling and lyrics support via plugin. \nSlskd provides access to the [Soulseek](https://www.slsknet.org/news/) network for music discovery.\n\n- **AI** —\u003e [Ollama](https://setup-ollama.com/index) runs a local LLM with GPU acceleration - i use mostly just for subtitle translation considering it's very heavy, but it does work like a normal chatbot as well. \n\n- **Search engine** —\u003e [SearXNG](https://github.com/searxng/searxng) is a self-hosted search backend that integrates results from multiple search engines.\n\n- **Infrastructure** —\u003e [Caddy](https://github.com/caddyserver/caddy) acts as a reverse proxy. [Ntfy](https://github.com/binwiederhier/ntfy) handles push notifications. [Uptime Kuma](https://github.com/louislam/uptime-kuma) monitors service health. [Tailscale](https://tailscale.com/) is used as a mesh vpn to allow only me getting access to each service.\n\n- **Password manager** —\u003e [Vaultwarden](https://github.com/dani-garcia/vaultwarden) is a self-hosted Bitwarden-compatible password manager.\n\n- **Files \u0026 Sync** —\u003e [Immich](https://github.com/immich-app/immich) for photo management,\n[Syncthing](https://syncthing.net/) for file sync across devices, [Filebrowser](https://github.com/filebrowser/filebrowser) for remote file access,\n[Kavita](https://github.com/Kareadita/Kavita) for ebooks management.\n\n## Why\n\nIt started with me being fed-up with subscription services, then it became more about freedom.. \nAbout not wanting to depend on companies that don't share your values, about owning your own data, \nthe freedom to share resources with people. There's also some stubbornness to it. \nThe kind of \"I'll do it myself because i can\" that comes from being tired of lack of ownership and planned obsolescence.\n\nThe same thinking led to the URBS GTFS project. \nLooking for a Google Maps replacement with decent transit info for Curitiba, \ni found that URBS wasn't on the Mobility Database at all. So I built the feed myself. \nIdeally it would be GTFS Realtime, but URBS doesn't expose a public API — \nthat's reserved for a handful of companies, Google included. But something is still better than nothing.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenaytms%2Fhomelab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenaytms%2Fhomelab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenaytms%2Fhomelab/lists"}