3 ms·
Here's what I have so far: - Zabbix: for monitoring my servers - Uptime Kuma: for monitoring whether sites are up - Mattermost: for some communication, a
by KronisLV 4y ago
Here's what I have so far:
- Zabbix: for monitoring my servers
- Uptime Kuma: for monitoring whether sites are up
- Mattermost: for some communication, also automation (e.g. notifications from Uptime Kuma)
- Portainer: for managing Docker Swarm or Kubernetes more easily
- Gitea: for my source code
- Drone CI: for my CI/CD needs
- Sonatype Nexus: for storing everything from my code libraries, to container images
- SonarQube: for static code analysis in my projects
- OpenProject: for managing my projects and some documents/Wiki
- BookStack (now retired): for a knowledgebase/proper Wiki
- NextCloud: for my file management needs
- PeerTube: for my video hosting needs (currently mostly backups of stream VODs, because of bandwidth limitations otherwise)
- Grav: for my blog, over at https://blog.kronis.dev
- Yourls: for link shortening, because the blog sometimes breaks with query parameters otherwise
- Matomo: for analytics on the sites that I develop (cookieless currently)
- BackupPC: for my backups (incremental and deduplicated)
- my own mail server, for automation and as a backup private account
- some other sites that I've developed with the above tools: like my homepage, a forum or two and so on
- oh, and some game servers (like Minecraft) for friends
Historically, I hosted a few more pieces of software (like GitLab and GitLab CI), but I've both cut down on some and added some others over time.
Currently some of those run on my homelab (just regular Debian/Ubuntu boxes), whereas some are in the cloud, from a relatively local cloud provider. The total costs of the VPSes are around 425 euros a year, or around 35 euros a month. Currently the cluster has just short of 64 GB of RAM and 12 CPU cores total, over half of which are in my homelab.
There is some maintenance involved, but thanks to Docker containers and stuff like Let's Encrypt it's all tolerable and cheaper than cloud offerings (mostly since I don't care too much if anything goes down for a bit).
Edit: oh, here's something fun. I use Apache2 as my web server(s), instead of Nginx/Caddy/Traefik, because it has bunches of modules and mod_md is pretty okay for managing certificate renewal https://httpd.apache.org/docs/2.4/mod/mod_md.html https://httpd.apache.org/docs/2.4/mod/mod_md.html
- dismalpedigree 4y agoWhat did you use to replace bookstack?
- KronisLV 4y agoFor when I want to keep track of stuff that's connected directly to the projects that I work on, OpenProject has Wiki functionality built in: https://www.openproject.org/docs/user-guide/wiki/ https://www.openproject.org/docs/user-guide/wiki/ For when I want to keep track of stuff that's connected directly to a particular codebase that I'm working on, turns out that Markdown files within the project's repo are more than sufficient. Nothing wrong with BookStack, of course, it just felt like I didn't need it as a separate system.
- srcreigh 4y agoDo you have a favorite software that you just love? I'm also curious how you decide to self host vs host on cloud. Is it purely for public facing vs private stuff or is it different? Also, what are the majority of your costs? Do you have a few different VPSs or one big shared one?
- KronisLV 4y ago> Do you have a favorite software that you just love? I'd say it's actually hard to decide. Personally, I like being able to host my own source code and build software myself, for which the combo of Gitea + Drone CI + Sonatype Nexus worked out nicely for me: https://blog.kronis.dev/articles/goodbye-gitlab-hello-gitea-nexus-and-drone https://blog.kronis.dev/articles/goodbye-gitlab-hello-gitea-... Apart from that, the combination of Portainer + Docker Swarm is a really nice and lightweight way to run containers, I'd say even a bit nicer than Hashicorp Nomad: https://www.portainer.io/ https://www.portainer.io/ (though lightweight Kubernetes distros like K3s are okay for personal usage) Also, NextCloud is really nice (for my needs), though some prefer Seafile to it: regardless of what you use, freeing yourself from a cloud storage subscription is nice, provided that you think of backups and such. > I'm also curious how you decide to self host vs host on cloud. Is it purely for public facing vs private stuff or is it different? For the most part, it's about the uptime. I let my homelab servers sleep roughly when I do. They only draw 100 W from the wall due to 35 W TDP CPUs, but electricity bills are still a thing. Plus they do generate some noise, even with passive cooling for the CPUs. But they're great as CI nodes or backup nodes as well, especially due to the fact that a 1 or 2 TB HDD is pretty cheap compared to most cloud offerings, even if you get multiple drives for backups and some spare ones. Also, it's nice to host the public stuff in the cloud not just because of uptime concerns, but also because of a residential connection possibly being overwhelmed under load. > Also, what are the majority of your costs? Do you have a few different VPSs or one big shared one? I think either approach is valid. Way back I had just 1-2 VPSes, at one point I had around 10 of them, then I gradually moved some of those into VMs in my homelab before consolidating them down further. Those VMs lead to a lot of unnecessary I/O due to multiple OS installs, as opposed to just containers running on the box instead. As for how exactly I split things across nodes, I guess I look for vague categories like: this node will primarily host websites, this one will have most of the apps for writing code, this one will be a development node and will focus on CI, this one will mostly concern itself with backups. Now the total amount of nodes that I have is under 10 and will probably probably remain that way. Thankfully, the cloud provider that I use does static (predictable) billing for a set amount of resources, so no AWS/GCP/Azure horror stories, as long as I only need VPSes instead of managed services. Here's the one I use, Time4VPS: https://www.time4vps.com/?affid=5294 https://www.time4vps.com/?affid=5294 (affiliate link, you can remove affid if you prefer) I've also used Hetzner for when I needed more powerful nodes for a shorter amount of time (they don't do up front monthly billing): https://www.hetzner.com/ https://www.hetzner.com/ As another affordable option, Contabo is also pretty okay: https://contabo.com/en/ https://contabo.com/en/ There are also some better known options that were a bit more expensive when I last used them: DigitalOcean, Linode, Scaleway, Vultr and so on. I guess it's about finding a good fit of features vs pricing and other factors.