docs(self-host): sovereign Sverige guide, backup/restore scripts, Speed Insights gate (#1744)

docs/SOVEREIGN.md (run Accounted on Swedish infrastructure: providers, self-hosted Supabase gotchas, backup/restore runbook, honest dependency list), scripts/self-host/backup.sh + restore.sh (pg_dump custom format, storage tar, SHA-256 manifest, S3-compatible upload; ACLs are preserved through the restore and re-verified against an acl-manifest including sequences; the resume hook always runs after a failed quiesce and the hooks must be configured as a pair), Vercel Speed Insights gated off for self-hosted, and stale self-host docs corrected (assistant Q&A and categorization run on BYO OpenAI-compatible models; SMTP via EMAIL_PROVIDER=smtp after #1746; connector subscription described as proposed only).
This commit is contained in:
Jakob Wennberg
2026-08-31 08:18:14 +01:00
committed by GitHub
parent dd8c06a8fa
commit 79edee659f
10 changed files with 963 additions and 16 deletions
+22
View File
@@ -40,6 +40,28 @@ NEXT_PUBLIC_SELF_HOSTED=true
# (http:// by ws://). Set only if Realtime is served from another origin.
# NEXT_PUBLIC_SUPABASE_WS_URL=wss://your-project.supabase.co
# Optional: AI features (document extraction, in-app assistant). The image
# includes the extraction extensions; set ONE backend. See
# docs/SELF-HOSTING.md "AI Features" for the full list of model overrides.
# 1. Claude via AWS Bedrock (inference stays inside the EU through the eu.
# cross-region inference profile; AWS_REGION is the API endpoint, not a pin):
# AWS_ACCESS_KEY_ID=
# AWS_SECRET_ACCESS_KEY=
# AWS_REGION=eu-north-1
# 2. Claude via the direct Anthropic API:
# ANTHROPIC_API_KEY=
# 3. Any OpenAI-compatible endpoint (e.g. a Swedish inference provider; see
# docs/SOVEREIGN.md). A model id is required. Extraction, the assistant's
# question-and-answer and categorization run here; only the specialized
# Anthropic-only conversational flows return 503 (see docs/SELF-HOSTING.md,
# What runs on any model).
# AI_BASE_URL=https://api.example.se/v1
# AI_API_KEY=
# AI_MODEL=
# AI_EXTRACTION_MODEL= # a vision model, if AI_MODEL is not one
# AI_VISION=true # false for a text-only model
# AI_PDF_MODE=auto # auto | native | rasterize (the image ships pdftoppm)
# Optional: outbound email (invoices, reminders). Pick one provider.
# 1. Resend (what hosted runs):
# RESEND_API_KEY=