As part of documenting my current deployment, I wanted to document where I deploy things in 2026. At a high level, I am still using saltstack and docker for deployment. I have slowly migrated some things from the cloud to a local homelab.
Overview
- All of my servers are connected via tailscale to act as an internal network. Most services are configured to listen on the tailscale interface by default.
- All of my servers are running fluent-bit to collect logs and send them to kafka for processing.
- Servers are managed with
saltstackwith a few custom plugins that I have written. - I am running Debian because it is boring and fairly stable.
- I try to minimize what I am running direcly via systemd, and run a number of process via docker.
Linode
Cloud VMs tend to be fairly expensive for what you get, especially when it comes to CPU and Memory.
Over the past year, I have slowly been migrating more to a homelab setup.
Still using linode
for some VMs, I have switched to having two, mini, $5/mo VMs for routing and monitoring purposes.
I pay for some object storage in the cloud, because that seems like one place that cloud can do at a better, more reliable cost than I could.
Routing
For routing I am currently using caddy
for http trafic and haproxy
for other traffic.
tailscale
is used for communicating with other machines over a private network.
While I could probably use something like a reverse ssh tunnel from my homelab.
While I do not enjoy writing go
, writing some plugins for caddy could be an option if I need something custom.
Monitoring
While I am using some external monitoring like healthchecks and uptimerobot , I also continue to use prometheus . I run it from a seperate server (though from the same datacenter) so that I can do a few basic blackbox-exporter checks, but I also check other exporters and processes over the internal network.
Homelab
Althrough for various reasons hardware and memory has become more expensive recently, having hardware in your own homelab feels less expensive than cloud though you are on the hook for maintance. I am currently running on a mix of Raspberry Pi running in a 10" rack. Since I write some rust and occasionally write go code, I often need to be somewhat aware at differences in arm version between Pi4 and Pi5 machines, vs the Intel cloud machines and my local Intel Mac.
I am using woodpecker for building as GitHub (Forgejo) Actions feels like a Matryoshka doll of yaml files, and the pipelines and containers of Woodpecker feels a bit easier to groke. It is however sometimes challenging to find good examples for certain kinds of builds due to the oversized influence of GitHub.
Database
I am currently using Postgres as my primary database with redis for a few projects that nead it. While it is not a database, since it is a shared resource, I am also hosting my kafka node here. I have been slowly moving to restic for backups though I have some light bash scripts written to make it easier to use different profiles.
Docker
Most projects I am using are either already shipped as a docker container or can be built as one. I will often look at a projects provided docker-config file, and adopt it to my own lab. I do not have a generalized config yet, but I try to configure each docker container to run as its own user to keep things a bit more isolated.
Dev
I run my salt master here as well as some other development projects. My CI agent is also running here.
Future Work
While saltstack is generally still working ok, the project has had a rough time the past few years. I am still deciding how I want to handle it going forward. While there could be some slight advantages to using kubernetes for auto-healing, I am worried about the increased complexity and reduced visibility so I have not adopted it in my deployment. It might be that I study that a bit more for future hiring reasons.
I also continue to be tempted to build out my own homelab cli to simplify and codafy some tasks such as database maintance or backups or environment confguration and so on. Various ‘apps as a service’ platforms like Coolify continue to look appealing, but I think for the near future I am likely to continue my own self hosted experiments.