Self-Hosting
TravelSwallow selbst betreiben — lokal, per Docker, inklusive Umgebungsvariablen.
Lokal starten
TravelSwallow ist Open Source (AGPL-3.0). Du brauchst Node.js und pnpm.
git clone https://github.com/travelswallow/travelswallow.git
cd travelswallow
pnpm install
cp .env.example .env # Secrets eintragen
pnpm prisma migrate dev # SQLite-DB anlegen
pnpm dev # http://localhost:3000Umgebungsvariablen
| Variable | Pflicht | Zweck |
|---|---|---|
DATABASE_URL | ja | SQLite-Pfad, z. B. file:./dev.db |
AUTH_SECRET | in Prod | HMAC-Secret für Sitzungs- & Unlock-Cookies |
ENCRYPTION_SECRET | optional | Schlüssel zum Verschlüsseln von Konto-API-Keys (Fallback: AUTH_SECRET) |
ANTHROPIC_API_KEY | optional | Gemeinsamer Server-Key, falls Nutzer keinen eigenen mitbringen sollen |
ANTHROPIC_MODEL | optional | Modell überschreiben (Default: claude-sonnet-4-5) |
NEXT_PUBLIC_SITE_URL | optional | Kanonische URL für SEO/Sitemap |
Docker
docker compose up --build -d # läuft auf :3000, Daten im VolumeDas Image baut better-sqlite3 nativ, migriert beim Start und legt Datenbank & Uploads unter /data ab. Details in DEPLOY.md im Repository.
Plan-Limit anpassen
Das Free-Limit ist pro Nutzer als planLimit gespeichert (Default 1). Als Self-Hoster kannst du es in der Datenbank pro Konto erhöhen oder den Default im Prisma-Schema ändern.