Dropbox file IDs are saved with the article in Supabase. Banners appear in thumbnails and behind the article title/subtitle. Additional images and files appear below the article text.
40 lines
1.4 KiB
Bash
40 lines
1.4 KiB
Bash
# Where contact-form messages should be delivered.
|
|
CONTACT_TO_EMAIL=alexwherlan@gmail.com
|
|
|
|
# SMTP connection used by POST /api/contact.
|
|
SMTP_HOST=smtp.example.com
|
|
SMTP_PORT=587
|
|
SMTP_USERNAME=your-smtp-username
|
|
SMTP_PASSWORD=your-smtp-password
|
|
SMTP_FROM_EMAIL=portfolio@example.com
|
|
SMTP_USE_TLS=true
|
|
SMTP_USE_SSL=false
|
|
|
|
# Comma-separated origins allowed to call the API during development.
|
|
FRONTEND_ORIGINS=http://localhost:5173
|
|
|
|
# Lightweight journal publisher authentication. Use long, unique values in production.
|
|
JOURNAL_ADMIN_PASSWORD=replace-with-a-strong-password
|
|
JOURNAL_TOKEN_SECRET=replace-with-a-long-random-secret
|
|
|
|
# Persistent upload directory; defaults to backend/data/uploads.
|
|
# Mount durable storage here when deploying to a host with an ephemeral filesystem.
|
|
# JOURNAL_UPLOAD_DIR=/var/lib/portfolio/uploads
|
|
|
|
# Article uploads go to Dropbox; use local only for offline development.
|
|
JOURNAL_MEDIA_STORAGE=dropbox
|
|
DROPBOX_APP_KEY=
|
|
DROPBOX_APP_SECRET=
|
|
DROPBOX_REFRESH_TOKEN=
|
|
# Optional short-lived token for initial testing; refresh tokens are preferred.
|
|
DROPBOX_ACCESS_TOKEN=
|
|
|
|
# Server-only Supabase article storage. Prefer the new sb_secret_ key.
|
|
SUPABASE_URL=https://your-project-ref.supabase.co
|
|
SUPABASE_SECRET_KEY=sb_secret_replace_me
|
|
SUPABASE_ARTICLES_TABLE=articles
|
|
|
|
# Optional: only needed to apply schema changes through the Management API.
|
|
SUPABASE_PROJECT_REF=your-project-ref
|
|
SUPABASE_ACCESS_TOKEN=sbp_your_scoped_personal_access_token
|