Spell out that JWT_SECRET is required and must be a strong 32+ char value, and
that the empty default is intentional (docker compose fails fast rather than the
server boot-looping). Pairs with the compose-level guard added in 028005d.
72 lines
3.6 KiB
Bash
72 lines
3.6 KiB
Bash
# ─── Backspace Configuration ────────────────────────────────
|
|
# Copy to .env and configure, or run ./install.sh to generate automatically.
|
|
|
|
# Your server's public domain name (required)
|
|
DOMAIN=example.com
|
|
|
|
# ─── Server ─────────────────────────────────────────────────
|
|
# Production/Docker listen port (Caddy reverse-proxies to it). Local development
|
|
# ignores this and uses 3005 — the Vite dev proxy target — set by `pnpm dev`.
|
|
PORT=3000
|
|
HOST=0.0.0.0
|
|
|
|
# ─── Authentication (REQUIRED) ──────────────────────────────
|
|
# Secret that signs login tokens. This MUST be set to a strong random value.
|
|
# Leaving it empty is intentional — `docker compose up` then fails immediately
|
|
# with a clear message instead of the server boot-looping. Generate one with:
|
|
#
|
|
# openssl rand -hex 32
|
|
#
|
|
# (./install.sh fills this in for you automatically — you only touch this when
|
|
# configuring by hand.) Must be at least 32 characters.
|
|
JWT_SECRET=
|
|
|
|
# Registration — set to false to close signups after initial setup
|
|
REGISTRATION_OPEN=true
|
|
|
|
# Max file upload size in bytes (default: 100MB)
|
|
MAX_UPLOAD_SIZE=104857600
|
|
|
|
# ─── AGPL-3.0 § 13 Source Offer ────────────────────────────
|
|
# Backspace is AGPL-3.0. Network users can obtain the source of the running
|
|
# version via GET /api/instance/info and in-app "Source code (AGPL)" links.
|
|
# If you MODIFY Backspace and self-host it, you MUST point this at YOUR fork's
|
|
# source so the offer stays accurate. Defaults to the upstream repository.
|
|
# BACKSPACE_SOURCE_URL=https://github.com/TheZwiss/backspace
|
|
#
|
|
# Short git commit/tag of the running build. Injected automatically at Docker
|
|
# build time by deploy.sh (--build-arg BACKSPACE_COMMIT). Leave unset for local
|
|
# dev — the app reports commit=null. Set manually only for custom build pipelines.
|
|
# BACKSPACE_COMMIT=
|
|
|
|
# ─── LiveKit Voice/Video ───────────────────────────────────
|
|
# To enable voice/video, fill in all three values below and add:
|
|
# COMPOSE_PROFILES=voice
|
|
# Leave empty to run Backspace without voice features.
|
|
LIVEKIT_URL=
|
|
LIVEKIT_API_KEY=
|
|
LIVEKIT_API_SECRET=
|
|
|
|
# ─── Desktop App (Electron) ───────────────────────────────
|
|
# Override the URL that the desktop app loads (auto-detects in dev/prod)
|
|
# BACKSPACE_URL=https://my-instance.com
|
|
|
|
# Auto-update server URL for electron-updater (optional)
|
|
# BACKSPACE_UPDATE_URL=https://releases.example.com
|
|
|
|
# ─── Docker Compose ────────────────────────────────────────
|
|
# Uncomment to enable the LiveKit service:
|
|
# COMPOSE_PROFILES=voice
|
|
|
|
# ─── Database Backups ──────────────────────────────────────
|
|
# Automatic SQLite snapshots: pre-migration (always, when a migration is pending),
|
|
# scheduled (every BACKUP_INTERVAL_HOURS), and manual (./backup.sh). Rotated per type.
|
|
# BACKUP_DIR=./data/backups # default: <data>/backups
|
|
# BACKUP_INTERVAL_HOURS=24
|
|
# BACKUP_KEEP_SCHEDULED=7
|
|
# BACKUP_KEEP_PREMIGRATION=5
|
|
# BACKUP_KEEP_MANUAL=10
|
|
# Off-box replication hook — receives the new snapshot path as $1 (e.g. rclone/rsync/aws s3 cp):
|
|
# BACKUP_OFFSITE_CMD=
|
|
# BACKUP_DISABLED=false
|