3 ms·
Currently I have a hybrid setup, where stuff that needs more compute or storage (which are cheaper if you buy hardware) runs locally in my homelab, whereas the
by KronisLV 4y ago
Currently I have a hybrid setup, where stuff that needs more compute or storage (which are cheaper if you buy hardware) runs locally in my homelab, whereas the things that need better uptime or more bandwidth are available in rented VPSes. I've actually played around with what is hosted where, depending on what I need: for example, uptime monitoring currently runs locally, checking whether I can reach the remote sites from my residential connection.
LOCALLY (in my homelab)
- Startpage, with Heimdall: https://heimdall.site/ https://heimdall.site/
- Backups, with BackupPPC: https://backuppc.github.io/backuppc/ https://backuppc.github.io/backuppc/
- Twitch stream and YouTube video backups, with PeerTube: https://joinpeertube.org/ https://joinpeertube.org/
- File sharing for larger files, with Nextcloud: https://nextcloud.com/ https://nextcloud.com/
- Chat solution, with Mattermost: https://mattermost.com/ https://mattermost.com/
- Project management, with OpenProject: https://www.openproject.org/ https://www.openproject.org/
- CI runners, with Drone CI: https://www.drone.io/ https://www.drone.io/
- Minecraft servers, with docker-minecraft-server: https://github.com/itzg/docker-minecraft-server https://github.com/itzg/docker-minecraft-server
- Static code analysis, with SonarQube: https://docs.sonarqube.org/latest/ https://docs.sonarqube.org/latest/
- Uptime monitoring, with Uptime Kuma: https://github.com/louislam/uptime-kuma https://github.com/louislam/uptime-kuma
PUBLICLY (in rented VPSes)
- Code repositories, with Gitea: https://gitea.io/en-us/ https://gitea.io/en-us/
- CI, with Drone CI: https://www.drone.io/ https://www.drone.io/
- Package/container management, with Nexus: https://www.sonatype.com/products/nexus-repository https://www.sonatype.com/products/nexus-repository
- File sharing, with Nextcloud: https://nextcloud.com/ https://nextcloud.com/
- Link shortener, with Yourls: https://yourls.org/ https://yourls.org/
- Mail server, with docker-mailserver: https://github.com/docker-mailserver/docker-mailserver https://github.com/docker-mailserver/docker-mailserver
- Analytics, with Matomo: https://matomo.org/ https://matomo.org/
- Container management, with Portainer: https://www.portainer.io/ https://www.portainer.io/
- Server monitoring, with Zabbix: https://www.zabbix.com/ https://www.zabbix.com/
- Blog, with Grav: https://getgrav.org/ https://getgrav.org/
My homepage and some other projects as well. I manage most of these as Docker containers (with Swarm, though K3s is great too), so thankfully handling data backups and resource limits is pretty easy. Currently, I use Apache as the reverse proxy in front of all of these (lots of modules for a variety of features, as well as Let's Encrypt integration with mod_md). So far it seems to work decently, isn't too expensive, helps me avoid e-waste (homelab nodes run 200 GE CPUs with 35 W TDP), although updates are always a pain.
The blog has more information about some of these pieces of software, in case anyone is interested: https://blog.kronis.dev/ https://blog.kronis.dev/
For example, previously I ran GitLab, but Gitea + Drone + Nexus proved to be a better solution for my needs and workloads.