From 0ed54bf760a50b93e1151bafed758652b75884e1 Mon Sep 17 00:00:00 2001 From: Shautvast Date: Sun, 29 Mar 2026 10:33:44 +0200 Subject: [PATCH] links --- content/posts/get_of_that_cloud.md | 41 ++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/content/posts/get_of_that_cloud.md b/content/posts/get_of_that_cloud.md index d1abdad..3496294 100644 --- a/content/posts/get_of_that_cloud.md +++ b/content/posts/get_of_that_cloud.md @@ -8,6 +8,8 @@ description: "And that also means get off github" We are living in the end-of-saas era. Instead you ask the LLM to build stuff for you, the way you want it, instead of paying for a subscription, or becoming the product as they say. But how are you going to host all those shiny apps? Yet another cloud provider? Then you are still a 'cloud serf' (as Yannis Varoufakis says). Real resistance comes from the self hoster... or maybe. +I will not go too much into 'why'. There's plenty of reasons. You may have your own. I am driven by then the ambition to be the owner of my data. That is paradoxical if you keep using LLM's. But I also have a life outside of coding. + Last week's hackernews featured [moving to codeberg, for lazy people](https://unterwaditzer.net/2025/codeberg.html). Lazy person here! So, in this vain, Claude and I coded a platform where I can host everything that my heart desires. In about a week, next to my day job. @@ -15,23 +17,34 @@ At first it ran on my 10 years old pi3, which, was fine, were it not that compil _What does it have?_ -- a Podman compose cluster -- a control plane in Rust, with a UI for managing apps and users. Sqlite for its storage. - - builds itself on startup in a podman container. No cargo needed. -- automated let's encrypt server certificates. -- a Caddy reverse proxy, handling TLS and routing dynamcally. -- forgejo for hosting my projects (selfhosted codeberg). -- a forgego agent to build stuff. Currently idle, but useful for testing apps before deploying them. -- build pipeline: git clone → detect stack → build container image → run via Podman -- webhooks for app updates or `git push hyi main` -- a postgres database. At the moment it's only purpose is datastore for forgejo -- basic security, users can be assigned to apps -- backed up to my Proton drive using rclone. Protondrive came free (15Gb) with my email account. -- running as systemd service on headless raspbian. Cold start in under a minute (haven't timed it). +- a [Podman compose](https://docs.podman.io/en/latest/) cluster +- a control plane in Rust, + - a UI for managing apps and users. + - sqlite for storage. + - builds on startup in a podman container. No rust(up) needed on the host. +- automated [Let's encrypt](https://letsencrypt.org) server certificates. +- a [Caddy](https://caddyserver.com/docs/quick-starts/reverse-proxy) reverse proxy + - handles TLS and dynamic routing. +- [forgejo](https://forgejo.org) for hosting my projects (selfhosted codeberg). + - A little bash script to copy all my old github stuff. +- a forgego agent to build stuff + - o I can test apps before deploying them. +- build pipeline: + - git clone → detect stack → build container image → run via Podman +- webhooks for automatic redeploy +- a postgres database. + - datastore for forgejo + - for future apps +- basic security + - users can be assigned to apps +- backed up to my [Proton](https://proton.me/nl) drive using rclone. + - protondrive came free (15Gb) with my email account. +- running as systemd service on headless raspbian. + - cold start in under a minute (haven't timed it). https://git.sanderhautvast.nl/sander/Hostityourself -And it deploys any git~~hub~~ repo you throw at it as long as it has a Dockerfile (that may change). The name you give it will be the subdomain in the url. +And it deploys any git~~hub~~ repo you throw at it as long as it contains a Dockerfile (which may change). The name you give it will be the subdomain in the url. The only thing that is missing from an SRE perspective is external monitoring. It does not have grafana. Just basic resource usage.