-
-
Notifications
You must be signed in to change notification settings - Fork 1
change up hosted pomu infrastructure #29
Description
We are nearing 1000 livestreams saved on our hosted pomu instance. We'll take this opportunity to do a bunch of infrastructure updates:
Promote dev instance to production
Our dev instance has been stable enough for quite a while now, meaning that we can go ahead and promote it to the production instance. This means:
dev.pomu.app->pomu.appdev-cdn.pomu.app->cdn.pomu.app
All other subdomains such as manual-cdn.pomu.app, docs.pomu.app or status.pomu.app will stay on their current subdomain
Checklist:
- Update
.envfile onpomufly.io container, replacing alldev.urls with the full URL - Update DNS on Cloudflare to have the root domain point to the fly.io container
- Remove placeholder page on https://pomu.app currently hosted with Cloudflare Pages
- Update Discord OAuth redirect url within the Discord Developer Portal
- Update Postgres database
download_urlfield with newly adjusted CDN url - Update the whole Meilisearch
pomusearch index with newly adjusted CDN url - Update status page URLs to point to the new production instance
- Optional: Add redundancy region to the
pomuhosted container on fly.io
Because Backblaze S3 buckets cannot be updated, we will keep the S3 bucket named pomu-dev and we will continue to save new archives into that S3 bucket.
Meilisearch Cloud Free Tier retirement
Pomu uses Meilisearch Cloud at the moment, but they have announced that they will be sun setting their free tier and replace it with a $20/mo basic tier at the end of this month. Pomu's search usage is in no way high enough (less than 1K searches per month) to justify migrating to it, so we will switch to self-hosted Meilisearch using fly.io
- Setup Meilisearch in a fly.io container
- Adjust Meilisearch URL & API keys in pomu's production containers
.envfile - Restart pomu to repopulate the (now empty) search index
Dump pomu.app database
In the spirit of being open data (and also as a backup solution), we should add automated downloadable database dumps of pomu.app's videos table. We should host these database dump in a GitHub repository.
- Create
pomu-db-dumpsrepository - Setup automated daily dumping using GitHub actions