links
This commit is contained in:
parent
9e8c827b5d
commit
0ed54bf760
1 changed files with 27 additions and 14 deletions
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue