Self-Hosting Gitness (Harness Open Source): Modern Git Hosting with Built-In CI/CD

Self-Hosting Gitness (Harness Open Source): Modern Git Hosting with Built-In CI/CD Most self-hosted Git solutions make you bolt on CI/CD as an afterthought. You set up Gitea, then add Woodpecker or Drone, configure webhooks, manage two sets of credentials, and pray the integration doesn’t break during updates. Gitness — now officially Harness Open Source — takes a different approach. It’s a single binary that ships Git hosting, CI/CD pipelines, code review, secret scanning, and cloud developer environments in one package. Born as the next generation of Drone CI, it inherits Drone’s container-native pipeline philosophy while adding a complete source control layer on top. ...

March 22, 2026 · 9 min · Self Host Setup

Docker Volume Management: Backups, Migration, and Best Practices

Docker Volume Management: Backups, Migration, and Best Practices You’ve got a dozen containers running — Nextcloud, Jellyfin, Paperless-ngx, databases. Each one stores data in Docker volumes. But can you actually back them up? Migrate them to a new server? Clean up the dead weight? If you already understand the difference between volumes and bind mounts, this guide picks up where that leaves off. We’re covering the operational side: how to protect, move, and maintain your Docker volumes in production. ...

March 21, 2026 · 9 min · Self Host Setup

Self-Hosting Woodpecker CI: Lightweight Continuous Integration

Self-Hosting Woodpecker CI: Lightweight Continuous Integration Most self-hosted CI/CD tools are either overkill for a homelab or painful to configure. Jenkins needs a PhD in XML. GitLab CI requires GitLab. GitHub Actions is locked to GitHub’s cloud (or a heavyweight self-hosted runner setup). Woodpecker CI takes a different approach: a lightweight, container-native CI/CD engine that uses ~100 MB of RAM for the server and ~30 MB per agent. It’s a community fork of Drone CI (before the license change), fully open source under Apache 2.0, and used in production by Codeberg — one of the largest community Git hosting platforms. ...

March 21, 2026 · 9 min · Self Host Setup

Docker Compose Profiles: Managing Dev, Staging, and Production

Docker Compose Profiles: Managing Dev, Staging, and Production You’ve got a self-hosted stack running in production. Now you want a staging copy to test updates before they hit your live services. Maybe a dev environment too, with debug tools and hot-reloading. The old way? Three separate docker-compose.yml files with 80% overlap, constantly drifting out of sync. Docker Compose profiles solve this. One compose file, multiple environments. Services tagged with profiles only start when you explicitly activate that profile. Everything else runs by default. ...

March 19, 2026 · 6 min · Self Host Setup

Setting Up Semaphore: Ansible UI for Home Server Automation

Ansible is the gold standard for server automation. But writing YAML playbooks and running them from the terminal gets old fast — especially when you manage multiple machines in your homelab. Semaphore is a modern web UI for Ansible. It lets you manage playbooks, track run history, schedule tasks, and share automation with your team — all from a clean browser interface. Think of it as “Ansible meets GitHub Actions” for your home server. ...

February 18, 2026 · 7 min · Self Host Setup