chore: rebrand Subfeed -> Siftlode

Rename all user-facing references (UI wordmark Sift+lode, titles, app name,
legal pages, onboarding wizard, emails, README/docs) and infra paths
(/srv/subfeed -> /srv/siftlode, image tag, deploy script, backup filenames).

Internal identifiers kept on purpose: Postgres user/db "subfeed", logger
namespace, localStorage keys, and the subfeed_pgdata volume (renaming would
orphan the migrated production data).
This commit is contained in:
npeter83 2026-06-14 04:40:22 +02:00
parent cbd0234a8d
commit 898a6ae338
25 changed files with 90 additions and 90 deletions

View file

@ -1,12 +1,12 @@
# Deploying Subfeed to the public VPS (asgard)
# Deploying Siftlode to the public VPS (asgard)
The public test instance runs on the asgard VPS at **https://subfeed.b1fr0st.eu**, behind
The public test instance runs on the asgard VPS at **https://siftlode.b1fr0st.eu**, behind
Caddy (which terminates TLS and reverse-proxies to the app on `127.0.0.1:8080`).
## Layout on asgard
```
/srv/subfeed/
/srv/siftlode/
src/ git clone of this repo (build context + compose file)
.env secrets, mode 0600 — NEVER committed
```
@ -17,16 +17,16 @@ the small VPS.
## First-time setup
1. DNS `A`/`AAAA` for `subfeed` → asgard (done via the porkbun CLI).
2. Caddy vhost block `subfeed.b1fr0st.eu { reverse_proxy 127.0.0.1:8080 }` (+ the shared
1. DNS `A`/`AAAA` for `siftlode` → asgard (done via the porkbun CLI).
2. Caddy vhost block `siftlode.b1fr0st.eu { reverse_proxy 127.0.0.1:8080 }` (+ the shared
security-headers snippet), then reload Caddy.
3. `git clone` this repo to `/srv/subfeed/src`.
4. Create `/srv/subfeed/.env` (mode 0600) with the required keys — see
3. `git clone` this repo to `/srv/siftlode/src`.
4. Create `/srv/siftlode/.env` (mode 0600) with the required keys — see
[`.env.example`](../.env.example). Generate the secrets:
- `SECRET_KEY`: `python -c "import secrets; print(secrets.token_urlsafe(48))"`
- `TOKEN_ENCRYPTION_KEY`: `python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"`
- `POSTGRES_PASSWORD`: any long random string.
- `OAUTH_REDIRECT_URL=https://subfeed.b1fr0st.eu/auth/callback`
- `OAUTH_REDIRECT_URL=https://siftlode.b1fr0st.eu/auth/callback`
- `GOOGLE_CLIENT_ID` / `GOOGLE_CLIENT_SECRET` / `YOUTUBE_API_KEY` from Google Cloud Console.
- `ALLOWED_EMAILS` / `ADMIN_EMAILS` = the invited Google accounts.
@ -36,7 +36,7 @@ the small VPS.
## Rolling out a new version
```bash
/srv/subfeed/src/deploy/deploy.sh
/srv/siftlode/src/deploy/deploy.sh
```
It pulls `main`, rebuilds the image on the host, and restarts the stack (migrations run

View file

@ -2,13 +2,13 @@
# Roll out the latest main branch to the public asgard instance.
#
# Layout on asgard:
# /srv/subfeed/src git clone of this repo (build context + compose file)
# /srv/subfeed/.env secrets, mode 0600 (never in git)
# /srv/siftlode/src git clone of this repo (build context + compose file)
# /srv/siftlode/.env secrets, mode 0600 (never in git)
#
# Build runs on the host Docker daemon, so it isn't constrained by the CI runner's memory.
set -euo pipefail
ROOT=/srv/subfeed
ROOT=/srv/siftlode
cd "$ROOT/src"
git fetch --quiet origin