Photos now serve media from self-hosted MinIO (img.kennethreitz.org)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-05 02:52:30 -04:00
parent 603b8ea8e4
commit 39bccc1be5
+2 -2
View File
@@ -165,7 +165,7 @@ Redeploy: `scripts/api.sh application.deploy '{"applicationId":"arptPVNJZU0SIsk7
| Services | `web` (runbolt :8000, Traefik routes here) + `worker` (Celery, concurrency 2) |
| Domain | `photos.kennethreitz.org` (`x9rE8KS2nDGXlQjpUorfm`, serviceName `web`) — covered by wildcard `*.kennethreitz.org` A record |
| Env | DEBUG/SECRET_KEY/ALLOWED_HOSTS/DATABASE_URL/CELERY_*/AWS_* in Dokploy compose env. Celery brokers through Postgres via `sqla+postgresql+psycopg://` (explicit env override — repo only ships psycopg v3, default `sqla+postgresql://` wants psycopg2). `OPENAI_API_KEY` empty for now (AI describe disabled). |
| Storage | Tigris bucket `exiftree-media` (kept from Fly era; creds in compose env — rotate if needed) |
| Storage | MinIO bucket `exiftree-media` (self-hosted, see minio compose below) — public URLs via `img.kennethreitz.org/exiftree-media`, path-style. Migrated from Tigris 2026-06-05: 166 GiB / 100,632 objects, `mc diff` verified clean. Tigris bucket retained as cold fallback. |
| Auto-deploy | GitHub webhook (id `636448741`) → `/api/deploy/compose/<refreshToken>` |
| Deployed | 2026-06-05 (migrated from Fly.io app `exiftree`; old `deploy.yml` + `daily-restart.yml` workflows removed) |
@@ -188,7 +188,7 @@ Redeploy: `scripts/api.sh compose.deploy '{"composeId":"WICLbVwy5JEbHz2SPb4tR"}'
| | |
|---|---|
| Compose ID | `UK8pWczw8d9GSmyLjZJiP` (appName `minio-q3xgqx`, sourceType raw, env `production` of photos) |
| S3 API | https://media.kennethreitz.org (container port 9000) |
| S3 API | https://img.kennethreitz.org (container port 9000) — ⚠️ `media.` was first choice but it's an existing CNAME to the Synology NAS; check the zone before naming! |
| Console | https://media-minio.kennethreitz.org (container port 9001) |
| Data dir | `/mnt/objects/minio` — bind mount on the 250 GB `mercury-objects` Hetzner volume |
| Root user | `exiftree-admin` (password in Dokploy compose env) |