feat(hephaestus): enable Sia storage backend for cold blobs
Flip LFS, attachments, packages, and repo-archive stores from local disk to the 'hephaestus' bucket via s3.silentmode.st:8600 s3d gateway. Cert there is a real LE cert (CN=navigate.st) that Go's minio driver trusts — no skip-verify needed. Live git repos + Postgres stay on local SSD; this only moves cold blobs onto Sia hosts. Verified live: write→read→delete round-trip on the bucket, plus Forgejo's own startup log confirming minio init for each store.
This commit is contained in:
parent
6afb196bec
commit
31d2960571
1 changed files with 21 additions and 5 deletions
|
|
@ -62,11 +62,27 @@ services:
|
|||
FORGEJO__security__SECRET_KEY: ${FORGEJO_SECRET_KEY}
|
||||
FORGEJO__security__INTERNAL_TOKEN: ${FORGEJO_INTERNAL_TOKEN}
|
||||
FORGEJO__oauth2__JWT_SECRET: ${FORGEJO_OAUTH_JWT_SECRET}
|
||||
# --- Storage backend: local disk for MVP ---
|
||||
# sia.storage as S3 backend is deferred until the endpoint TLS cert chains cleanly
|
||||
# (currently requires --no-verify-ssl which Forgejo's minio driver won't accept).
|
||||
# Storage-on-disk works; the switch back to S3 is a config change only, no rebuild.
|
||||
# (defaults to local — no MINIO_* env vars needed)
|
||||
# --- Storage backend: Sia via silentmode.st's s3d (public endpoint on port 8600) ---
|
||||
# Cert is a real LE cert issued to navigate.st (with SAN for s3.silentmode.st);
|
||||
# Go's default TLS chain trusts it fine. No skip-verify needed.
|
||||
# The 'hephaestus' bucket was pre-created on the 'sync' account.
|
||||
# Path prefixes keep repos/LFS/attachments/packages/archives separated within the bucket.
|
||||
FORGEJO__storage__MINIO_ENDPOINT: ${SIA_STORAGE_ENDPOINT}
|
||||
FORGEJO__storage__MINIO_ACCESS_KEY_ID: ${SIA_STORAGE_ACCESS_KEY}
|
||||
FORGEJO__storage__MINIO_SECRET_ACCESS_KEY: ${SIA_STORAGE_SECRET_KEY}
|
||||
FORGEJO__storage__MINIO_BUCKET: ${SIA_STORAGE_BUCKET}
|
||||
FORGEJO__storage__MINIO_LOCATION: us-east-1
|
||||
FORGEJO__storage__MINIO_USE_SSL: "true"
|
||||
FORGEJO__storage.lfs__STORAGE_TYPE: minio
|
||||
FORGEJO__storage.lfs__MINIO_BASE_PATH: lfs/
|
||||
FORGEJO__storage.attachments__STORAGE_TYPE: minio
|
||||
FORGEJO__storage.attachments__MINIO_BASE_PATH: attachments/
|
||||
FORGEJO__storage.packages__STORAGE_TYPE: minio
|
||||
FORGEJO__storage.packages__MINIO_BASE_PATH: packages/
|
||||
FORGEJO__storage.repo-archive__STORAGE_TYPE: minio
|
||||
FORGEJO__storage.repo-archive__MINIO_BASE_PATH: archives/
|
||||
# Live git repos still live on local disk under /data/git — S3 is only for LFS
|
||||
# and other cold blobs. Never point [repository] itself at S3.
|
||||
# --- Quota (free tier: 500 MB per user) ---
|
||||
FORGEJO__quota__ENABLED: "true"
|
||||
FORGEJO__quota__DEFAULT_GROUPS: free
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue