Share your DevOps setups reddit / selfhosted ---------------------------------------------------------------------- primevaldark · 2023-12-07 02:51 People who do not just host but develop their own software and deploy it to your hosts in self hosted context - what do you use for CI/CD, PaaS, telemetry, alerting? I, for now, do things manually - I develop on my MacBook, merge into main, then actually ash to my server, run the build that builds the image, los the image, change version in compose file and down/up it. I want things built and deployed automatically on merge to main branch at the very least, but ideally I want to deploy my PRs too. I figured I need CI, an artifact repository for images and custom packages, maybe sone kind of PaaS even. ---------------------------------------------------------------------- louisose · 2023-12-07 03:03 You could look into self hosted git actions ---------------------------------------------------------------------- MentalDV8 · 2023-12-07 03:20 Perhaps checkout Techno Tim's YouTube channel. He has covered in his software that I use video pretty much all of this. And he has a lot of tutorials on how to set things up. He's a software developer that works out of his home and has a huge home lab to compliment his work. ---------------------------------------------------------------------- sk1nT7 · 2023-12-07 04:07 A poor man's CI/CD would be free Github Actions, building and publishing your images. Uploading them to a registry (e.g. private repo on Dockerhub). Afterwards, you run Watchtower docker container and your server that automatically fetches the latest images from Dockerhub via the built- in go cron job. As soon as you push onto Github, an GitHub Action is triggered, builds your images, uploads them on Dockerhub and within 30s or so watchtower will notice the new image, download it and redeploy your container. ---------------------------------------------------------------------- No_Bee_7194 · 2023-12-07 04:25 I choose OneDev. I've tried GitLab, Gogs, and Gitea before. GitLab is too heavy, and Gogs and Gitea have some migration issues. OneDev provides convenient visual orchestration for CI/CD. The rest is handled by the traditional ELK stack. ---------------------------------------------------------------------- Deathmeter · 2023-12-07 05:09 Dokku has been reliable for me for the past year. I've moved all my personal projects on a vps running it and changes are incredibly easy to deploy from a GitHub action. ---------------------------------------------------------------------- SammyDavidJuniorJr · 2023-12-07 05:18 Forgejo and Forgejo runner. ---------------------------------------------------------------------- SammyDavidJuniorJr · 2023-12-07 05:20 I highly recommend Forgejo which is a Gitea fork. I’ve been very impressed with the Forgejo Runner setup. I suppose, though, if Gitea wasn’t cutting it for you Forgejo may not either. ---------------------------------------------------------------------- Nixellion · 2023-12-07 06:24 Looks cool, what are its RAM requirements? ---------------------------------------------------------------------- Salzig · 2023-12-07 06:46 It’s so sad that gitea opted for GitHub actions style CI/CD. Gitlab has IMHO the easiest to setup an use CI-Runner. ---------------------------------------------------------------------- Cylian91460 · 2023-12-07 08:40 I have a git server on my server and I automatically copy the git, compile everything (with makefile) and automatically install everything. And (when I don't forget) also push to GitHub. ---------------------------------------------------------------------- Dan6erbond2 · 2023-12-07 08:41 I have my own Gitea and Drone instance, running on Kubernetes so the runners can be scheduled on one of many nodes in my cluster. For deployment I use ArgoCD or Terraform, depending on my needs. Keeps things simple and easy to reuse for different stacks. For versioning I use commitizen. ---------------------------------------------------------------------- adamshand · 2023-12-07 08:57 I've been using CapRover as a PaaS. It's basically a fairly simple layer on top of Docker Swarm (can run as a single node or multi-node). It took a little bit to wrap my head around it, but once I understood it, it's been really great. Simple, fast, and so far very reliable. 🤞🏻 ---------------------------------------------------------------------- prabirshrestha · 2023-12-07 09:20 I’m moving to nomad and working on adding fee features related to gitops for nomad via https://github.com/jonasvinther/nomad-gitops- operator. It is minimal and super simple to manage. You can then install hashcorp waypoint or other ci if you want additional builds. My hopes is to use https://github.com/shortishly/shrugs for selfhosted git server for gitops without installing full edged gif server with all fancy features ---------------------------------------------------------------------- lowerseagate · 2023-12-07 10:12 I used to do it manually before I discovered Coolify. That shit just automated all of those. ---------------------------------------------------------------------- murdaBot · 2023-12-07 11:07 VSCode -> GitLab -> ArgoCD -> 6-node k3s cluster -> VMware & AWS <- Ansible + Puppet + Terraform <- VSCode ---------------------------------------------------------------------- murdaBot · 2023-12-07 11:08 > A poor man's CI/CD would be free Github Actions, building and publishing your images. If you stand up your own runner, you get unlimited minutes too. And they make it incredibly easy, just a couple commands and it can be run on Linux, macOS, or Windows. ---------------------------------------------------------------------- murdaBot · 2023-12-07 11:10 I disagree, I much prefer Github Actions to Gitlab CI/CD. GHA syntax just makes more intuitive sense to me. ---------------------------------------------------------------------- FettyWompRat · 2023-12-07 13:47 I use ghcr instead of dockerhub but yes ---------------------------------------------------------------------- waitingfortheencore · 2023-12-07 13:54 I second the nomination for u/TechnoTim ---------------------------------------------------------------------- TwoBoolean · 2023-12-07 14:20 I’m running everything in kubernetes using Argo for continuous deployment. I have Prometheus & Grafana running, but currently underutilized. I really wanna give SigNoz a shot as it (seemingly) has a lot of of DataDog-esk service offerings. ---------------------------------------------------------------------- rexeus · 2023-12-07 15:13 GitRepo -> GitHub actions (self hosted runner on k3s cloud vps cluster) -> push to gitea container registry -> flux CD image scanner deploys new image in the same k3s cluster. All liked via tailscale ---------------------------------------------------------------------- rexeus · 2023-12-07 15:22 Does Forgejo have container registry like Gitea? ---------------------------------------------------------------------- servergeek82 · 2023-12-07 15:34 Gitea for versioning -> commit -> gitea actions -> git pull on 3 hosts -> docker pull on 3 hosts -> docker up on 3 hosts-> verification checks. Gotify to alert run completed. Uptime Kuma to alert if anything is down. A few other tools running as well. ---------------------------------------------------------------------- Akmantainman · 2023-12-07 15:38 I use Gitea for hosting git repositories and package/container registry for private packages. For CI/CD I have a drone runner setup integrated with Gitea which works well. I also have an instance of File Browser connected to Drone and have used the for artifacts, but I don't really use it anymore, I found I didn't really have any artifacts to publish. That said I've been moving my CI/CD to [https://dagger.io/](https://dagger.io/) which has been FANTASTIC. It's code based so you can define all your pipelines in Go, Python, or Javascript and they all run on containers so I can run actions locally without any special setup. Highly recommended. I'm still working on some sort of staging environment setup, I haven't nailed down how to implement it really well, but I'll be doing it with dagger. ---------------------------------------------------------------------- SammyDavidJuniorJr · 2023-12-07 15:43 Yeah: https://forgejo.org/docs/latest/user/packages/container/ ---------------------------------------------------------------------- Jonteponte71 · 2023-12-07 16:08 That certainly looks….cool. But no integration with anything other then gitlab and github? ---------------------------------------------------------------------- pranay01 · 2023-12-07 17:13 thanks for the shout out for SigNoz :) - Our key USP is having metrics, traces and logs in a single pane which is what many users also love about DataDog If anyone wants to check the project, here's our github repo - https://github.com/signoz/signoz ---------------------------------------------------------------------- SitDownBeHumbleBish · 2023-12-07 17:32 I self host Jenkins in the cloud and install agents on my rpi/odroid. ---------------------------------------------------------------------- IM_OK_AMA · 2023-12-07 18:52 This is exactly how I do it and it works very well. ---------------------------------------------------------------------- trisanachandler · 2023-12-07 20:03 I'm lazy and not a real dev. I use github (mirrored to gitea), github actions, push to [docker.io](https://docker.io), and portainer to install the updates. Everything I do is dockerized. ---------------------------------------------------------------------- narut072 · 2023-12-08 04:49 You can use woodpecker-ci or TeamCity (the free version is 3 agents and 100 configurations). For artifact repo check out pulp sonatype nexus. For deployment look into waypoint and nomad from hashicorp ---------------------------------------------------------------------- primevaldark · 2023-12-08 04:54 You sound like a real dev to me! What is your definition? ---------------------------------------------------------------------- No_Bee_7194 · 2023-12-08 04:58 I think it is less than 2Gb. Around 1.5Gb during high pressure. ---------------------------------------------------------------------- trisanachandler · 2023-12-08 05:13 I'm a sysadmin for work. I do some dev stuff to learn, test, and solve issues in my own life. ---------------------------------------------------------------------- servergeek82 · 2023-12-08 05:15 Drone or harness.io are alternatives to that. And good projects too ---------------------------------------------------------------------- servergeek82 · 2023-12-08 05:17 I've wanted to set up signoz. It's in a to-do list. Thanks for the reminder lol ---------------------------------------------------------------------- narut072 · 2023-12-08 05:21 My understanding is woodpecker is a fork of drone. Seems like drone was replaced with https://gitness.com/ as the selfhostable version. ---------------------------------------------------------------------- Nixellion · 2023-12-08 05:27 Thanks. Thats decent but still a lot more than Gitea which starts at 100-200MB and rarely goes over 1GB. The project and cicd looks awesome though. But my RAM is pretty much maxed out :( ---------------------------------------------------------------------- servergeek82 · 2023-12-08 12:22 Didn't know they changed the project name. Thanks for the knowledge drop. Decided to learn ansible, Jenkins, git runner, and drone during the blip. ---------------------------------------------------------------------- primevaldark · 2023-12-08 23:41 Does not get any more real than that. ---------------------------------------------------------------------- adamshand · 2023-12-09 01:40 Thanks for the link to shrugs! ---------------------------------------------------------------------- Nixellion · 2023-12-11 10:25 One more question, I think Gitea's Actions are compatible with Git Actions, both in syntax and in that it can use user created actions from github. Is it something that OneDev can do as well?