Files
backspace/.env.example
T
Jannis Braun 24accc3647 docs(env): make the JWT_SECRET requirement explicit in .env.example
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.
2026-07-06 01:20:08 +02:00

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