All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
Tutte le variabili d'ambiente di SnapOtter con i valori predefiniti. Configura autenticazione, archiviazione, modelli AI, analisi e altro.
8e9e9ca2840c
human
26b7e763f3f2
Configurazione
Tutta la configurazione avviene tramite variabili d'ambiente. Ogni variabile ha un valore predefinito sensato, quindi SnapOtter funziona out of the box senza impostarne nessuna.
Variabili d'ambiente
Server
Variabile
Predefinito
Descrizione
PORT
1349
Porta su cui il server è in ascolto.
RATE_LIMIT_PER_MIN
1000
Numero massimo di richieste al minuto per IP. Imposta a 0 per disabilitare il rate limiting.
CORS_ORIGIN
(vuoto)
Origini consentite per CORS separate da virgola, oppure vuoto per solo same-origin.
LOG_LEVEL
info
Verbosità dei log. Uno tra: fatal, error, warn, info, debug, trace.
TRUST_PROXY
true
Considera attendibili le intestazioni X-Forwarded-For da un reverse proxy. Imposta a false se non sei dietro un proxy.
Autenticazione
Variabile
Predefinito
Descrizione
AUTH_ENABLED
false
Imposta a true per richiedere il login. L'immagine Docker ha come predefinito true.
DEFAULT_USERNAME
admin
Nome utente per l'account admin iniziale. Usato solo alla prima esecuzione.
DEFAULT_PASSWORD
admin
Password per l'account admin iniziale. Cambiala dopo il primo login.
MAX_USERS
0 (illimitato)
Numero massimo di account utente registrati. Imposta a 0 per illimitato.
SESSION_DURATION_HOURS
168
Durata della sessione di login in ore (il predefinito è 7 giorni).
SKIP_MUST_CHANGE_PASSWORD
-
Imposta a un qualsiasi valore non vuoto per bypassare la richiesta forzata di cambio password al primo login
Archiviazione
Variabile
Predefinito
Descrizione
STORAGE_MODE
local
local o s3. S3/MinIO richiede una licenza con la funzionalità s3_storage.
Stringa di connessione Redis (usata per le code di lavori BullMQ).
WORKSPACE_PATH
./tmp/workspace
Directory per i file temporanei durante l'elaborazione. Pulita automaticamente.
FILES_STORAGE_PATH
./data/files
Directory per i file utente persistenti (immagini caricate, risultati salvati).
Modalità embedded
Esegui l'immagine senza DATABASE_URL e senza REDIS_URL e avvia il proprio PostgreSQL 17 e Redis all'interno del container, associati al loopback, con tutti i dati sul volume /data. Questo ripristina l'esperienza a comando singolo docker run per l'avvio rapido, l'homelab e gli aggiornamenti dalla 1.x. È un percorso di comodità, non un deployment di produzione: per la produzione, esegui lo stack Compose a 3 container con PostgreSQL e Redis separati. La modalità embedded richiede l'esecuzione del container come root ed è incompatibile con i runtime a UID arbitrario (OpenShift, Kubernetes runAsNonRoot); lì usa Compose.
Variabile
Predefinito
Descrizione
EMBEDDED
auto
Abilitata automaticamente quando sia DATABASE_URL sia REDIS_URL non sono impostate. Imposta a 0 per disabilitarla (l'app allora fallisce rapidamente se non è impostato alcun DATABASE_URL/REDIS_URL esterno, invece di avviare silenziosamente un database in-container).
REDIS_MAXMEMORY
512mb
Limite di memoria per il Redis embedded (solo modalità embedded). Abbassalo su host con memoria limitata come un Raspberry Pi.
Aggiornamento dalla 1.x: metti il tuo vecchio snapotter.db in /data/snapotter.db nel volume e la modalità embedded lo importa nel PostgreSQL embedded al primo avvio. L'importazione avviene una volta sola; gli avvii successivi la saltano.
Nota sulla telemetria: la modalità embedded eredita il valore predefinito delle analisi dell'immagine come qualsiasi altra configurazione. L'immagine pubblicata viene fornita con le analisi attive; compila con --build-arg SNAPOTTER_ANALYTICS=off, oppure usa l'opt-out admin in-app, per disabilitarla.
Limiti di elaborazione
Variabile
Predefinito
Descrizione
MAX_UPLOAD_SIZE_MB
100
Dimensione massima del file per upload in megabyte. Imposta a 0 per illimitato.
MAX_BATCH_SIZE
100
Numero massimo di file in una singola richiesta batch. Imposta a 0 per illimitato.
CONCURRENT_JOBS
0 (auto)
Numero di lavori batch che girano in parallelo. Imposta a 0 per rilevarlo automaticamente in base ai core CPU disponibili.
MAX_MEGAPIXELS
0 (illimitato)
Risoluzione massima dell'immagine consentita in megapixel. Imposta a 0 per illimitato.
MAX_WORKER_THREADS
0 (auto)
Numero massimo di thread worker per l'elaborazione delle immagini. Imposta a 0 per rilevarlo automaticamente in base ai core CPU disponibili.
PROCESSING_TIMEOUT_S
0 (nessun limite)
Tempo massimo di elaborazione per richiesta in secondi. Imposta a 0 per nessun timeout.
MAX_PIPELINE_STEPS
20
Numero massimo di passaggi in una pipeline. Imposta a 0 per nessun limite.
MAX_CANVAS_PIXELS
0 (nessun limite)
Dimensione massima del canvas in pixel per le immagini di output. Imposta a 0 per nessun limite.
MAX_SVG_SIZE_MB
0 (illimitato)
Dimensione massima del file SVG in megabyte. Imposta a 0 per illimitato.
MAX_SPLIT_GRID
100
Dimensione massima della griglia per lo strumento di divisione delle immagini.
MAX_PDF_PAGES
0 (illimitato)
Numero massimo di pagine PDF per la conversione PDF-a-immagine. Imposta a 0 per illimitato.
Pulizia
Variabile
Predefinito
Descrizione
FILE_MAX_AGE_HOURS
72
Per quanto tempo i risultati di elaborazione non salvati (upload grezzi e output degli strumenti) vengono conservati prima dell'eliminazione automatica. I file che salvi esplicitamente nella libreria File non sono interessati e persistono finché non li elimini.
CLEANUP_INTERVAL_MINUTES
60
Con quale frequenza viene eseguito il lavoro di pulizia.
Aspetto
Variabile
Predefinito
Descrizione
DEFAULT_THEME
light
Tema predefinito per le nuove sessioni. light o dark.
DEFAULT_LOCALE
en
Lingua predefinita dell'interfaccia.
DEFAULT_TOOL_VIEW
sidebar
Layout predefinito degli strumenti. sidebar o fullscreen.
Permessi Docker
Variabile
Predefinito
Descrizione
PUID
999
Esegui il processo del container come questo UID. Imposta per corrispondere al tuo utente host per i bind mount (id -u).
PGID
999
Esegui il processo del container come questo GID. Imposta per corrispondere al tuo gruppo host per i bind mount (id -g).
/data (app) - Modelli AI, venv Python e file utente. Montalo per conservare i file caricati e i bundle AI installati tra i riavvii.
/tmp/workspace (app) - Archiviazione temporanea per i file in elaborazione. Può essere effimera, ma montarlo evita di riempire il livello scrivibile del container.
SnapOtter-pgdata (postgres) - Directory dati di PostgreSQL. Contiene tutti i dati relazionali (utenti, impostazioni, pipeline, lavori, log di audit). Esegui il backup tramite pg_dump o snapshot del volume.
SnapOtter-redisdata (redis) - File append-only di Redis per code di lavori durevoli.