Self-hosted service
cbirkenbeul/docker-homelab avatar
cbirkenbeul/docker-homelab

docker-homelab is a catalogue of compose files with two proxy variants

Docker Compose Dateien für Homelabs

661 stars104 forksUnknownApache-2.0

At a glance

What is it?
The docker-homelab repository collects Docker Compose files for around forty self hosted applications, in a standalone folder and a second folder where the Traefik labels are already filled in. It is a reference collection rather than a platform, and the labels are written for one particular proxy setup.
Who is it for?
docker-homelab is worth an hour for someone standing up a home server who wants working compose files for the usual suspects, Nextcloud, Vaultwarden, Jellyfin, Gitea, Pi-hole and the rest, rather than assembling each one from an image documentation page.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 13 days ago.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A file collection, not a platform

docker-homelab is described as a collection of the common applications used in homelabs, and the top level listing matches that description exactly. There is no application code, no CLI and no configuration management layer. What there is, at the top level, is a README, a LICENSE, a .github directory, a .vscode directory and three content directories: compose-files-standalone, compose-files-traefik-predefined and a ressources directory. The author adds that he has made several videos on his German YouTube channel covering a lot of this software, and the badges point to documentation hosted on his own site and a Discord chat, with a Renovate badge indicating automated dependency updating. So the project is best understood as the configuration half of a series of tutorials, with the videos and the documentation site as the teaching material. That framing is useful for a reader, because it tells you what kind of artifact each compose file is: a worked example of one service, prepared for the author's own stack.

The same service appears twice, with and without proxy labels

The two compose directories are the structural idea of the repository. One holds standalone files, and the other holds files with the Traefik labels already defined. The README explains the reasoning: in the author's Docker environment Traefik is the go to reverse proxy, other options such as nginx or caddy exist, and some of the compose files are already bundled with predefined Traefik labels. What matters for anyone reusing these is the caveat that comes with that last sentence, since the labels are combined with the author's own Traefik installation rather than being generic. A host rule, a router name or a certificate resolver in a label will reflect one particular setup, and copying a file without editing those values will produce a container that starts and answers on no hostname, or a startup error if the resolver does not exist in your configuration. The standalone files are the safer starting point, and the Traefik variants are a shortcut for people who already run a similar proxy. Both families are useful, but they are useful to different people.

Around forty applications spanning media, documents, monitoring and infrastructure

The README includes a full alphabetical list, and reading it is the fastest way to understand the scope. The letters A to H cover adguard home, apt-cacher-ng, blocky, bookstack, calibre, cloudflare-ddns, droneio, Filebrowser, freescout, freshrss, ghost, ghostfolio, gitea, guacamole and heimdall. The middle run adds ilias, influxdb, jellyfin, matomo, miniflux, nextcloud, ntp-server, phpipam, pihole, plex and portainer. The last group covers recipes, redmine, scrutiny, statping-ng, tautulli, traefik, unifi controller, unpoller, vaultwarden, wallabag, watchtower, wikijs, wordpress and yourls. The spread is what makes the collection interesting. It moves from the infrastructure layer, where Pi-hole, an NTP server, apt-cacher-ng and Cloudflare dynamic DNS sit, through the services people actually use, Nextcloud, Jellyfin, Plex, Gitea, Ghost and WordPress, to the monitoring and management tools, InfluxDB, Matomo, Scrutiny, Statping-ng, Unpoller, Tautulli and Watchtower. A dozen compose files would be a list; forty of them across those layers is closer to a reference for what a home server ends up running.

The choices reflect one operator's habits, not a recommendation

It is worth reading the list as a record of decisions rather than as advice, because the overlaps reveal the alternatives the author made. Both adguard home and blocky appear, which are competing DNS-level ad blockers, and both freshrss and miniflux appear, which are competing feed readers. Cloudflare dynamic DNS sits next to the Unifi controller, and Tautulli and Unpoller both point at the same media server stack alongside Jellyfin and Plex. That pattern tells you a lot about the environment these files were written in, and it is the most useful thing in the repository for a reader planning their own server. It also tells you the limits. The files are written for the versions and configuration choices the author had, the documentation is in German, the video material is on a German channel, and the README does not describe the hardware, the storage layout or the network design behind the setup. Someone with a different disk layout or a different domain will need to rework the volumes and the hostnames in every file they take.

No releases, no documented version policy, and a Renovate badge

The maintenance picture is thin in the way a personal infrastructure repository usually is. The repository publishes no GitHub releases, the last push was on 2026-10-10, and the repository is not archived, so the files are being edited. The Renovate badge in the README indicates that dependency updates are automated, which is a good sign for a collection of compose files, since the most common failure in a homelab is an image tag that no longer resolves. What the README does not do is state a policy about which image tags the files use, whether they are pinned to exact versions or to floating tags, or how quickly updates are meant to reach the repository. That gap matters for anyone who wants a stable starting point, because a floating tag means the file you copy today may pull a different image next month. The practical approach is to read the tags in the file you are about to use, pin what you depend on in your own copy, and let Renovate propose updates to your fork rather than to the upstream.

Documentation lives on a personal site, not in the repository

The repository itself carries very little instructional text beyond the list and the Traefik note. The documentation badge points at a site on the author's own domain, where the written material presumably lives alongside the videos, and there is a Discord invite for chat. The ressources directory in the tree is named for supporting material such as configuration templates and helper files, and the .vscode directory suggests the author edits these files with Visual Studio Code, which is consistent with the format of the collection. Two practical consequences follow for a reader. The first is that a compose file here is a starting point that assumes context you will not find in the repository, so the documentation site is where the context lives. The second is that the project depends on one person and one hosting setup, and the licence reflects that informality. Apache-2.0 is a permissive grant with the usual notice obligations, and it means you can take these files, adjust them to your own domain, volume layout and proxy configuration, and ship them inside your own infrastructure without asking anyone.

Editorial conclusion

docker-homelab is worth an hour for someone standing up a home server who wants working compose files for the usual suspects, Nextcloud, Vaultwarden, Jellyfin, Gitea, Pi-hole and the rest, rather than assembling each one from an image documentation page. It is the wrong choice if you want a managed platform, a uniform configuration model or a supported stack, because the repository is a set of independent files with no orchestration layer, and the wrong choice for a production deployment without a review pass, since the Traefik labels are pre-filled for a specific setup and the README does not say which image tags the files pin. Verify three things before you deploy anything from it: that the labels match the proxy you actually run, since the author states they are combined with his own Traefik installation, that the image tags in each file are what you want, and that the data volumes and credentials are set as the author intended. The licence is Apache-2.0, the last push was on 2026-10-10, and the repository publishes no GitHub releases.

Frequently asked questions

What does the docker-homelab repository contain?

It is a collection of Docker Compose files for common homelab applications, stored in a standalone folder and a second folder where the Traefik labels are predefined, plus a ressources directory with supporting files. The README lists the full catalogue, which runs to around forty applications.

Can I use the compose files with nginx or Caddy instead of Traefik?

Yes. The README says Traefik is the author's preferred reverse proxy but that nginx or caddy are alternatives. The predefined Traefik labels are combined with the author's own Traefik installation, so they need editing before use.

Which applications are covered by the compose file collection?

The README lists adguard home, apt-cacher-ng, blocky, bookstack, calibre, cloudflare-ddns, droneio, Filebrowser, freescout, freshrss, ghost, ghostfolio, gitea, guacamole, heimdall, ilias, influxdb, jellyfin, matomo, miniflux, nextcloud, ntp-server, phpipam, pihole, plex, portainer, recipes, redmine, scrutiny, statping-ng, tautulli, traefik, unifi controller, unpoller, vaultwarden, wallabag, watchtower, wikijs, wordpress and yourls.

How is docker-homelab licensed and how often is it updated?

The project is licensed under Apache-2.0, so the files can be reused and adapted. The repository publishes no GitHub releases, the last push was on 2026-10-10, and a Renovate badge in the README indicates that dependency updates are handled automatically.

Official sources

  1. cbirkenbeul/docker-homelab on GitHub
  2. Issues
  3. License: Apache-2.0
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/cbirkenbeul-docker-homelab.svg)](https://hysenlabs.com/projects/cbirkenbeul-docker-homelab)

Was this useful?