Compose files for deploying applications in my homelab.
Preparing my setup for an upcoming move, experimenting with configurations for Homebox, Coder, and Traefik.
Homepage dashboards services and bookmarks with static YAML files and Docker labels.
Homebox manages inventory. Using a forked image ecshreve/homebox-dev
with UI tweaks.
Gitea backs up GitHub repos and experiments with git hooks. Uses a MySQL database accessible via Adminer.
Coder manages dev environments with templates and workspaces. Currently running in a bespoke and slightly brittle local setup. The application isn't really designed for a single developer use case, but I've found it much more fun than VSCode devcontainers or GitHub codespaces
cAdvisor and Node Exporter collect metrics.
Grafana visualizes via Prometheus.
Network logs sent to Synology log server.
Docker container logs are collected via Loki and Promtail, and visualized in Grafana.
A fragment like this one could be used to directly use the loki logging driver in service defs
x-logging-loki: &loki-logging
driver: loki
options:
loki-url: "http://loki:3100/loki/api/v1/push"
Traefik routes requests using CONTAINER_NAME.ecs.lan
.
Router uses wildcard DNS A record for *.ecs.lan
pointing to the Traefik container's local network IP, which is advertised as a subnet route in tailscale.
Tailscale secures connections between hosts and containers.
This setup is in progress and not suitable for internet exposure without additional configuration.