Self hosting
I have gotten myself into self-hosting since this year. This blog post is to talk about the motivation, current setup etc.
I wanted to give more details and publish a more elaborate post but it takes
a lot of time for me to write.
I’ll probably write individual posts in more detail for a few of the
self-hosted solutions I deploy.
Motivation
It started with getting a static IP from my ISP. I had setup a media server that I planned to expose using this static IP.
A fun side-effect of getting a static IP is that I cannot use a different DNS provider and I’ll have to stick with my ISP’s DNS.
I had a few Raspberry Pis with me and I thought if I can make use of those to deploy a few small self-hosted solutions for myself.
Infrastructure
More specifically, I am into self hosting on my home infra plus a free instance from Oracle cloud because there’s a thrill to my hardware / systems failing and losing all my data. My state-of-the-art server rack has 3 Raspberry Pis, version 3, 4 & 5. Only one to go[1].
I also have an old gaming laptop that’s a prime candidate right now to fit into my pool of servers. I don’t know what happened to it but it just won’t create any new partitions to install Linux.
For storage, I don’t have a good solution yet. One of my storage is almost a 10 years old portable HDD that is spinning for its life right now.
Deployments
I wrote this list of deployments as of November 2nd, 2024. This may become outdated after some time with more / less deployments.
1. Coolify
I am managing all my deployments through coolify
Coolify is an open-source & self-hostable alternative to Heroku / Netlify / Vercel / etc.
It helps you manage your servers, applications, and databases on your own hardware; you only need an SSH connection. You can manage VPS, Bare Metal, Raspberry PIs, and anything else.
My coolify dashboard
2. Uptime Kuma
Uptime Kuma is an easy-to-use self-hosted monitoring tool.
All the deployments that I have written about in this post are getting monitored through Uptime Kuma at https://uptime.vipul.xyz/status/home
Uptime page
3. Plausible
Plausible Analytics is an easy to use, lightweight, open source and privacy-friendly alternative to Google Analytics. It doesn’t use cookies and is fully compliant with GDPR, CCPA and PECR.
I have used their paid solution for a few years and I was pretty satisfied with it. Plausible has a community edition that people can self host.
4. Immich
High performance self-hosted photo and video management solution.
Immich has been the most useful self-hosted solution for me right now.
My Immich
5. Nextcloud
Nextcloud is an open-source Google Drive alternative.
Since I have not figured out my storage and backups yet, I am not confident enough to use my self-hosted Nextcloud as the only file storage mechanism.
Fresh Nextcloud deployment
6. Whisper
Whisper is a general-purpose speech recognition model. It is trained on a large dataset of diverse audio and is also a multitasking model that can perform multilingual speech recognition, speech translation, and language identification.
This was just an experiment to try out the new quantized Whisper.cpp models on a CPU. It now just exists.
Whisper.cpp server
7. Llama 3.2
I am running Llama3.2 model using Ollama. This is deployed on my free Oracle instance.
8. Open WebUI
Open WebUI is an extensible, feature-rich, and user-friendly self-hosted WebUI designed to operate entirely offline. It supports various LLM runners, including Ollama and OpenAI-compatible APIs.
This is my interface to use Llama3.2 other than Ollama APIs
UI to use Llama models
9. Blog
I have a self-hosted version of this blog at https://blog.vipul.xyz. This is running on a Raspberry Pi 5.
10. Minecraft
I am managing Minecraft on-demand through a Coolify deployment on my Oracle free instance. I don’t keep it running always and that’s the reason why it shows red in my uptime page screenshot that I added previously.
Credits to itzg/docker-minecraft-server for publishing the Docker images.
Next Steps
- Version control all deployment manifests
- Figure out better storage and backup mechanism
- Stop Google One subscription