Tea does vps fuckery

What is this?

Hey! I'm Tea, and I'm currently getting a little into sysadmin bullshittery. Two years ago, I put a headless NixOS on my two-gen-old laptop (it's been a mess but I've been allowing myself to be clueless and break stuff). I kinda dropped it from there. Now I'm picking it back up by trying to manage my own hosting on a vps. Part of this exercise is about learning the basics of Docker with a few hands-on projects.

Plan

Web-Hosting

If you can see this, I successfully finished my second mini-project. It's currently an apache2 docker container on a cheap VPS.

Reverse Proxy

I'm using traefik to expose the local containers to the public internet. It also comes with TLS support.

traefik.io

PHP & SQL

I'm surprised how annoying it is to set this up, but eventually I got apache2 to run with PHP and to talk with a DB. Yay, we've got LAMP at home!

With that, I could set up my old first php project, a website where you can submit a button:

Your Second

Self-hosted git!

After multiple people told me to not fuck with bare repos, I set up a Forgejo!

forgejo.org

Cleaned up!

I finally settled on a file structure :)

projects
├── button.tea.wtf
│   ├── directus
│   ├── docker-compose.yaml
│   └── www
├── forgejo.tea0.eu
│   ├── database
│   ├── docker-compose.yaml
│   └── forgejo
├── immich.tea0.eu
├── kiss.button.tea.wtf
│   ├── docker-compose.yaml
│   └── www
├── metis.tea.wtf
├── paperless.tea0.eu
├── penpot.tea0.eu
├── php.tea.wtf
│   ├── docker-compose.yaml
│   └── www
├── tea.tea.wtf
│   ├── sveltekit-quiz
├── test.tea.wtf
│   ├── docker-compose.yaml
│   └── www
├── _traefik
│   └── docker-compose.yaml
└── zitadel.tea.wtf

Plausible Analytics

I kinda wanna see what's going on here so I set up a GDPR-compliant self-hosted minimal analytics. It's just 1.35kB compared to google'sor Clouflares 10-15kB or Google's 40-60kB.

plausible.io