Autoalojamiento
Aloja TravelSwallow por tu cuenta — en local, con Docker, incluidas las variables de entorno.
Ejecutar en local
TravelSwallow es de código abierto (AGPL-3.0). Necesitas Node.js y pnpm.
git clone https://github.com/travelswallow/travelswallow.git
cd travelswallow
pnpm install
cp .env.example .env # introduce los secretos
pnpm prisma migrate dev # crea la base de datos SQLite
pnpm dev # http://localhost:3000Variables de entorno
| Variable | Obligatoria | Propósito |
|---|---|---|
DATABASE_URL | sí | Ruta de SQLite, p. ej. file:./dev.db |
AUTH_SECRET | en prod | Secreto HMAC para las cookies de sesión y de desbloqueo |
ENCRYPTION_SECRET | opcional | Clave para cifrar las claves de API de la cuenta (alternativa: AUTH_SECRET) |
ANTHROPIC_API_KEY | opcional | Clave de servidor compartida, por si los usuarios no deben traer la suya |
ANTHROPIC_MODEL | opcional | Sobrescribir el modelo (por defecto: claude-sonnet-4-5) |
NEXT_PUBLIC_SITE_URL | opcional | URL canónica para SEO/sitemap |
Docker
docker compose up --build -d # se ejecuta en :3000, datos en un volumenLa imagen compila better-sqlite3 de forma nativa, migra al arrancar y guarda la base de datos y las subidas en /data. Detalles en DEPLOY.md del repositorio.
Ajustar el límite de planes
El límite gratuito se guarda por usuario como planLimit (por defecto 1). Como autoalojador puedes aumentarlo por cuenta en la base de datos o cambiar el valor por defecto en el esquema de Prisma.