Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 48 lines 1.7 kB view raw view rendered
1# Feed Server Deployment 2 3## Current: dp1-feed-v2 (Go + Postgres) 4 5As of April 2026, `feed.aesthetic.computer` runs **dp1-feed-v2** — a Go binary 6backed by PostgreSQL 16, hosted on the lith VPS (`209.38.133.33`). 7 8- **Source**: https://github.com/display-protocol/dp1-feed-v2 9- **Binary**: `/opt/dp1-feed/dp1-feed` 10- **Config**: `/opt/dp1-feed/config.yaml` (source of truth: `lith/dp1-feed-config.yaml`) 11- **Env**: `/opt/dp1-feed/.env` (API key, signing key, database URL) 12- **Service**: `systemctl {start,stop,restart,status} dp1-feed` 13- **Logs**: `journalctl -u dp1-feed -f` 14- **Port**: 8787 (reverse proxied via Caddy) 15- **Database**: PostgreSQL `dp1_feed` on localhost, user `dp1feed` 16 17## Rebuilding 18 19```bash 20ssh root@lith.aesthetic.computer 21cd /opt/dp1-feed-build/dp1-feed-v2 22git pull 23CGO_ENABLED=0 go build -o dp1-feed ./cmd/server 24cp dp1-feed /opt/dp1-feed/dp1-feed 25systemctl restart dp1-feed 26``` 27 28## Initial Setup 29 30Run `lith/scripts/setup-dp1-feed.sh` on the VPS. It installs Go, PostgreSQL, 31clones the repos, builds the binary, and creates the systemd service. 32 33## API Endpoints 34 35- `GET /health` — liveness 36- `GET /api/v1` — API info 37- `GET /api/v1/playlists` — list playlists 38- `GET /api/v1/channels` — list channels (requires extensions enabled) 39- `GET /api/v1/playlist-groups` — list playlist groups 40- `GET /api/v1/playlist-items` — list playlist items 41- `PUT /api/v1/registry/channels` — update curated channel registry 42 43Auth: `Authorization: Bearer <API_KEY>` for all write operations. 44 45## Legacy (archived) 46 47The previous V1 deployment used Cloudflare Workers (TypeScript/Hono) with KV 48storage. That code lives in `feed/dp1-feed/` and is no longer deployed.