Configuració

L'API llegeix la configuració de l'entorn (un .env opcional cobreix els buits; l'entorn real sempre guanya). L'essencial:

Obligatori

  • SVITRIO_JWT_SECRET — clau de signatura HS256. L'arrencada falla si no està definida o té menys de 32 bytes.

Nucli

  • SVITRIO_ADDR — adreça d'escolta (per defecte :8080).

  • SVITRIO_SCHEMA — ruta a schema.gate (incrustat a la imatge a /schema.gate).

  • SVITRIO_ADMIN_URL — origen de l'administrador; destinació de redirecció de l'enllaç màgic i allow-origin de CORS.

  • SVITRIO_JWT_ISSUER — claim iss del JWT.

Base de dades

  • SVITRIO_DB — ruta/DSN de la BD (per defecte ./svitrio.db).

  • SVITRIO_DB_PROVIDERsqlite | turso | postgres | neon, amb el SVITRIO_DB_HOST/TOKEN/USER/PASSWORD/NAME/PORT/SSLMODE corresponent.

  • SVITRIO_CONTENT_DSN — magatzem de contingut separat opcional.

Secrets i autenticació

  • SVITRIO_SECRETS_KEY — clau AES-256 de 32 bytes en base64 que segella en repòs les claus de facturació/IA/llicència. Sense definir ⇒ text pla + un avís d'arrencada.

  • SVITRIO_ACCESS_TTL (15m), SVITRIO_REFRESH_TTL (7d), SVITRIO_MAGIC_TTL (15m).

  • SVITRIO_WEBAUTHN_RP_ID / SVITRIO_WEBAUTHN_ORIGINS / SVITRIO_WEBAUTHN_RP_NAME — passkeys (opcional).

  • SVITRIO_RATELIMIT_DISABLED / _BURST(8) / _EVERY(20s) — la limitació de l'endpoint d'autenticació.

Correu

  • SVITRIO_EMAIL_PROVIDERconsole | brevo | smtp.

  • SVITRIO_BREVO_API_KEY, o SVITRIO_SMTP_HOST/PORT/USER/PASS.

  • SVITRIO_EMAIL_FROM / SVITRIO_EMAIL_FROM_NAME.

Webhooks i portal

  • SVITRIO_CONTENT_WEBHOOK_URL / SVITRIO_CONTENT_WEBHOOK_SECRET — ping de contingut sortint.

  • SVITRIO_TICKETS_INBOUND_SECRET / SVITRIO_TICKETS_BREVO_SECRET — webhooks de tiquets entrants.

  • SVITRIO_PORTAL_ADDR (:8081), SVITRIO_PORTAL_URL, SVITRIO_PORTAL_BASE_DOMAIN, SVITRIO_RESERVED_SUBDOMAINS.