Self-hosting
Gestire TravelSwallow da soli — in locale, via Docker, incluse le variabili d'ambiente.
Avviare in locale
TravelSwallow è open source (AGPL-3.0). Ti servono Node.js e pnpm.
git clone https://github.com/travelswallow/travelswallow.git
cd travelswallow
pnpm install
cp .env.example .env # inserisci i secret
pnpm prisma migrate dev # crea il database SQLite
pnpm dev # http://localhost:3000Variabili d’ambiente
| Variabile | Obbligatoria | Scopo |
|---|---|---|
DATABASE_URL | sì | Percorso SQLite, ad es. file:./dev.db |
AUTH_SECRET | in prod | Secret HMAC per i cookie di sessione e di sblocco |
ENCRYPTION_SECRET | facoltativa | Chiave per cifrare le chiavi API dell’account (ripiego: AUTH_SECRET) |
ANTHROPIC_API_KEY | facoltativa | Chiave server condivisa, se gli utenti non devono portare la propria |
ANTHROPIC_MODEL | facoltativa | Sovrascrivere il modello (predefinito: claude-sonnet-4-5) |
NEXT_PUBLIC_SITE_URL | facoltativa | URL canonico per SEO/sitemap |
Docker
docker compose up --build -d # gira su :3000, dati in un volumeL’immagine compila better-sqlite3 in modo nativo, esegue le migrazioni all’avvio e salva il database e i caricamenti in /data. Dettagli in DEPLOY.md nel repository.
Regolare il limite di piani
Il limite gratuito è salvato per utente come planLimit (predefinito 1). Come self-hoster puoi aumentarlo per account nel database o cambiare il valore predefinito nello schema Prisma.