Variabili d’Ambiente

Tutte le configurazioni de Il Carrubo sono gestite tramite variabili d’ambiente nel file .env nella root del progetto.

Non committare mai il file .env nel repository. Contiene credenziali sensibili come chiavi API, password del database e token di accesso. Il file è già incluso nel .gitignore.


Database & Autenticazione

Variabili fondamentali per la connessione a Supabase e l’autenticazione delle API.

Variabile Obbligatoria Descrizione
SUPABASE_URL Sì URL del progetto Supabase (es. https://xxxxx.supabase.co)
SUPABASE_KEY Sì Chiave pubblica anon per le operazioni lato client
SUPABASE_SERVICE_ROLE_KEY Sì Chiave service_role per operazioni privilegiate lato server
SUPABASE_DB_URL Sì Stringa di connessione PostgreSQL diretta
API_KEY Sì Chiave API personalizzata per autenticare le richieste REST

::: important
Tutte le variabili di questa sezione sono obbligatorie. Il server non si avvierà senza di esse.
:::


Alloggiati Web

Credenziali per l’invio automatico delle schedine alloggiati alla Questura tramite protocollo SOAP.

Variabile Obbligatoria Descrizione
ALLOGGIATI_USER No Username fornito dalla Questura
ALLOGGIATI_PASS No Password fornita dalla Questura
ALLOGGIATI_WSKEY No Chiave del servizio web (WS Key)

Queste variabili sono necessarie solo se si utilizza la funzionalità di invio automatico alla Questura. Senza di esse, la sezione Alloggiati Web sarà disabilitata nell’interfaccia.


Generazione PDF (Template Engine)

Configurazione per la generazione automatica di documenti PDF tramite il motore headless Template Engine.

Variabile Obbligatoria Descrizione
TEMPLATE_ENGINE_BASE Sì URL base del servizio Template Engine (https://te.cristianobleve.com)
TEMPLATE_ENGINE_KEY Sì Chiave API di Template Engine con prefisso te_live_
TEMPLATE_ENGINE_WELCOME_ID No ID del template per la lettera di benvenuto (84777b23c0de31b0)
TEMPLATE_ENGINE_CSV_ID No ID del template per il report finanziario CSV (d2577b23c4d40496)
TEMPLATE_ENGINE_RECEIPT_ID No ID del template per la ricevuta prenotazione (5d777b23f8e187d0)

Storage Documenti

Configurazione per l’archiviazione dei documenti scansionati su GitHub.

Variabile Obbligatoria Descrizione
GITHUB_TOKEN No Personal Access Token di GitHub con permessi repo
GITHUB_REPO No Repository di destinazione nel formato owner/repo

Ngrok

Configurazione per il tunneling sicuro con ngrok, utile per esporre il server locale su internet.

Variabile Obbligatoria Descrizione
USE_NGROK No Abilita ngrok all’avvio (true / false)
NGROK_AUTHTOKEN No Token di autenticazione ngrok
NGROK_DOMAIN No Dominio personalizzato ngrok (es. mio-dominio.ngrok-free.app)

Email (SMTP)

Configurazione del server SMTP per l’invio di email agli ospiti (conferme, welcome letter, promemoria).

Variabile Obbligatoria Descrizione
SMTP_HOST No Hostname del server SMTP (es. smtp.gmail.com)
SMTP_PORT No Porta del server SMTP (es. 587 per TLS, 465 per SSL)
SMTP_USER No Username / email per l’autenticazione SMTP
SMTP_PASS No Password o App Password per l’autenticazione SMTP
SMTP_SECURE No Usa connessione sicura (true per SSL, false per STARTTLS)
SMTP_FROM_EMAIL No Indirizzo email del mittente
SMTP_FROM_NAME No Nome visualizzato del mittente (es. Il Carrubo B&B)

Se usi Gmail, abilita le “Password per le app” nelle impostazioni di sicurezza del tuo account Google e usa quella password come SMTP_PASS.


Observability

Configurazione per il monitoraggio e l’osservabilità tramite Axiom.

Variabile Obbligatoria Descrizione
AXIOM_TOKEN No Token API di Axiom per l’invio dei log
AXIOM_DATASET No Nome del dataset Axiom dove salvare gli eventi

OCR

Configurazione per il riconoscimento ottico dei caratteri (OCR) tramite OCR.Space.

Variabile Obbligatoria Descrizione
OCR_API_KEY No Chiave API di OCR.Space per la scansione documenti

Vercel

Variabili per il deployment e l’integrazione con Vercel.

Variabile Obbligatoria Descrizione
VERCEL_PROJECT_ID No ID del progetto Vercel
VERCEL_TOKEN No Token di accesso Vercel per deploy automatici
VERCEL No Flag impostata automaticamente da Vercel (1 in ambiente Vercel)

Altre variabili

Variabile Obbligatoria Default Descrizione
QUERY_PASSWORD No — Password per l’accesso alla pagina di query SQL
PORT No 3000 Porta su cui avviare il server Express
NODE_ENV No development Ambiente di esecuzione (development, production)

File .env di esempio

# ===================================
# Il Carrubo — Configurazione
# ===================================

# --- Database & Auth (OBBLIGATORIE) ---
SUPABASE_URL=https://xxxxx.supabase.co
SUPABASE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6...
SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6...
SUPABASE_DB_URL=postgresql://postgres:password@db.xxxxx.supabase.co:5432/postgres
API_KEY=la-tua-chiave-api-sicura

# --- Alloggiati Web ---
# ALLOGGIATI_USER=
# ALLOGGIATI_PASS=
# ALLOGGIATI_WSKEY=

# --- PDF Generation (Template Engine) ---
# TEMPLATE_ENGINE_BASE=https://te.cristianobleve.com
# TEMPLATE_ENGINE_KEY=te_live_...
# TEMPLATE_ENGINE_WELCOME_ID=84777b23c0de31b0
# TEMPLATE_ENGINE_CSV_ID=d2577b23c4d40496
# TEMPLATE_ENGINE_RECEIPT_ID=5d777b23f8e187d0

# --- Document Storage ---
# GITHUB_TOKEN=ghp_xxxxx
# GITHUB_REPO=owner/repo

# --- Ngrok ---
# USE_NGROK=false
# NGROK_AUTHTOKEN=
# NGROK_DOMAIN=

# --- Email (SMTP) ---
# SMTP_HOST=smtp.gmail.com
# SMTP_PORT=587
# SMTP_USER=
# SMTP_PASS=
# SMTP_SECURE=false
# SMTP_FROM_EMAIL=info@ilcarrubo.it
# SMTP_FROM_NAME=Il Carrubo B&B

# --- Observability ---
# AXIOM_TOKEN=
# AXIOM_DATASET=il-carrubo

# --- OCR ---
# OCR_API_KEY=

# --- Vercel ---
# VERCEL_PROJECT_ID=
# VERCEL_TOKEN=

# --- Altro ---
# QUERY_PASSWORD=
PORT=3000
NODE_ENV=development

Le variabili commentate con # sono opzionali. Rimuovi il commento e inserisci il valore per abilitare la funzionalità corrispondente.