2026-07-14 08:54:31 +00:00
|
|
|
# Installed as /etc/harbor/harbor.env by remote/bootstrap.sh.
|
|
|
|
|
# Bootstrap generates all first-party secrets. Add external provider credentials
|
|
|
|
|
# directly on the server and keep this file free of real secrets.
|
|
|
|
|
PUBLIC_HOST=threads-tool-dev.30cm.net
|
|
|
|
|
PUBLIC_WEB_BASE=https://threads-tool-dev.30cm.net
|
|
|
|
|
PUBLIC_API_BASE=https://threads-tool-dev.30cm.net
|
|
|
|
|
CORS_ALLOWED_ORIGINS=https://threads-tool-dev.30cm.net
|
|
|
|
|
|
|
|
|
|
PLATFORM_XAI_KEY=
|
|
|
|
|
PLATFORM_OPENCODE_KEY=
|
|
|
|
|
PLATFORM_EXA_KEY=
|
|
|
|
|
THREADS_APP_ID=
|
|
|
|
|
THREADS_APP_SECRET=
|
|
|
|
|
|
|
|
|
|
STRIPE_ENABLED=false
|
|
|
|
|
STRIPE_SECRET_KEY=
|
|
|
|
|
STRIPE_WEBHOOK_SECRET=
|
|
|
|
|
STRIPE_STARTER_PRICE_ID=
|
|
|
|
|
STRIPE_PRO_PRICE_ID=
|
|
|
|
|
STRIPE_SUCCESS_URL="https://threads-tool-dev.30cm.net/app/usage/checkout?result=success&checkout_id={CHECKOUT_ID}&plan={PLAN_ID}"
|
|
|
|
|
STRIPE_CANCEL_URL="https://threads-tool-dev.30cm.net/app/usage/checkout?result=cancel&plan={PLAN_ID}"
|
|
|
|
|
STRIPE_PORTAL_RETURN_URL=https://threads-tool-dev.30cm.net/app/usage/plans
|
|
|
|
|
|
|
|
|
|
MAIL_SENDER="Harbor Desk <noreply@threads-tool-dev.30cm.net>"
|
|
|
|
|
MAIL_SMTP_HOST=
|
|
|
|
|
MAIL_SMTP_PORT=587
|
|
|
|
|
MAIL_SMTP_USER=
|
|
|
|
|
MAIL_SMTP_PASSWORD=
|
2026-07-17 17:38:36 +00:00
|
|
|
|
|
|
|
|
# Offsite backup sync (backup/offsite-sync.sh, runs from harbor-offsite-backup.timer
|
|
|
|
|
# daily after the local backup). Leave RESTIC_REPOSITORY empty to keep the sync a
|
|
|
|
|
# no-op. RESTIC_REPOSITORY/RESTIC_PASSWORD follow restic's own format, e.g. an
|
|
|
|
|
# S3-compatible bucket: RESTIC_REPOSITORY=s3:https://s3.us-west-000.backblazeb2.com/my-bucket/harbor
|
|
|
|
|
# plus AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY below for that provider.
|
|
|
|
|
RESTIC_REPOSITORY=
|
|
|
|
|
RESTIC_PASSWORD=
|
|
|
|
|
AWS_ACCESS_KEY_ID=
|
|
|
|
|
AWS_SECRET_ACCESS_KEY=
|