This is an automated archive made by the Lemmit Bot.
The original was posted on /r/selfhosted by /u/scr0llwheel on 2025-06-18 16:43:37+00:00.
I've struggled to find the best method to support continuous deployment of my Docker Compose stack. Right now, I manually SSH into my homelab machine and run git pull
and docker compose up -d
. That obviously works but I'd like to automate this step.
What I'd Like To Do
Every time I merge to main
on GitHub, my Docker Compose stack is automatically deployed to my homelab server. This means pulling new containers and restarting containers. I want to keep my code on GitHub.
What I've Considered
- Portainer and Watchtower — I don't need Portainer and would prefer not to run a heavy container like Portainer or Watchtower to handle this.
- GitHub Actions SSH to server — I'm not comfortable opening up SSH access.
- Recurring cron job — This could be a backup option but I'd prefer a real-time solution that deploys immediately after a merge to main.
Other Options
- GitHub Actions Self-Hosted Runner — This seems like the 'best' option but I haven't tested it out yet as the setup seems daunting.
- SSH over Tailscale from GitHub Actions — Another option. I would need to set up Tailscale on my homelab machine.
- ???
What other options are there?