Skip to content

Riferimento della configurazione ​

Vaultisse si configura con variabili d'ambiente, definite nel file .env accanto a docker-compose.yml. Dopo aver modificato .env, applicalo con:

bash
docker compose up -d

Le impostazioni che ometti usano il valore predefinito indicato sotto.

L'essenziale ​

VariabilePredefinitoCosa fa
JWT_SECRETnessuno, obbligatorioSegreto che firma le sessioni. Usa un valore lungo e casuale: openssl rand -hex 32. Cambiarlo disconnette tutti.
DB_PASSWORDnessuno, obbligatorioPassword del database.
FRONT_END_URLhttp://localhost:3000L'indirizzo che le persone digitano nel browser, con https:// e senza barra finale. Controlla quali origini accetta il server, quindi deve coincidere esattamente.
ALLOW_DEV_AUTHfalseSalta l'accesso con una sessione finta. Mai true su un server reale.
APP_TAGlatestQuale versione di Vaultisse eseguire. Fissala, per esempio 1.3.5.

Rete e porte ​

VariabilePredefinitoCosa fa
API_PORT3000Porta su cui ascolta l'app, e porta pubblicata sull'host.
TRUST_PROXYfalseImposta true solo quando un reverse proxy o un tunnel sta davanti all'app. Fa sì che la limitazione dei tentativi usi l'indirizzo reale di ogni visitatore. Attivato senza proxy, i visitatori possono falsificare il proprio indirizzo.
ALLOW_HTTPfalseImposta true solo quando l'app è raggiunta tramite http:// semplice su qualcosa di diverso da localhost, come http://192.168.1.50:3000. Senza di esso i browser riscrivono ogni link in https://. Lascialo false ogni volta che c'è HTTPS davanti.
CSP_EXTRA_IMG_SRCvuotoSiti web aggiuntivi autorizzati a fornire le copertine, separati da virgole, per esempio https://covers.example.com.
CLOUDFLARE_TUNNEL_TOKENvuotoUsato solo con il profilo cloudflare, vedi Reverse proxy e HTTPS.

Database ​

VariabilePredefinitoCosa fa
DB_NAMEvaultisseNome del database.
DB_USERpostgresUtente del database.
DB_PASSWORDnessunoPassword del database.

Con il file compose fornito l'app raggiunge sempre il database come db sulla porta 5432 dentro la rete Compose, qualunque cosa dicano DB_HOST e DB_PORT. Questi due contano solo se esegui l'app fuori da Docker.

Account e sessioni ​

VariabilePredefinitoCosa fa
REGISTRATION_ENABLEDtruefalse disattiva la pagina di registrazione e il link di iscrizione. Nessuno può creare un account con password.
REGISTRATION_REQUIRES_APPROVALfalsetrue permette di registrarsi, ma lascia l'account disattivato finché non lo abiliti nel database, vedi Installazione.
SESSION_TIME3600000Quanto dura un accesso senza attività, in millisecondi (un'ora). L'attività lo rinnova.
MAX_SESSION_AGE_DAYS30Il massimo che un accesso può durare, anche con attività costante. Dopo questo tempo bisogna accedere di nuovo.
DEMO_MODEfalseRende l'istanza di sola lettura per demo pubbliche: funzionano solo accesso e consultazione, e l'SSO è disattivato.

Single sign-on ​

Tutto questo è spiegato passo per passo in Single sign-on.

VariabilePredefinitoCosa fa
OIDC_ISSUERvuotoIndirizzo del tuo provider di identità.
OIDC_CLIENT_IDvuotoID client del provider.
OIDC_CLIENT_SECRETvuotoSegreto client del provider.
OIDC_REDIRECT_URIvuotoDeve essere esattamente https://tuo-indirizzo/auth/oidc/callback.
OIDC_SCOPESopenid profile emailCosa chiedere al provider.
OIDC_BUTTON_LABELSign in with SSOTesto del pulsante nella pagina di accesso.
OIDC_GROUPS_CLAIMgroupsNome del campo che contiene i gruppi di una persona. Quale gruppo apre quale biblioteca si imposta in ogni biblioteca, non qui.
OIDC_PERSONAL_VAULTtrueDà a una nuova persona con SSO una biblioteca propria al primo accesso. Imposta false perché veda solo le biblioteche che le danno i suoi gruppi.
SSO_ONLYfalseDisattiva l'accesso con password e la registrazione, così l'SSO è l'unica via. Ignorata se l'SSO non è attivo.

L'SSO è attivo solo quando i primi quattro sono tutti impostati.

Caricamenti e limiti ​

VariabilePredefinitoCosa fa
MAX_EBOOK_FILE_SIZE_MB10L'ebook più grande (.epub, .pdf, .mobi, .azw3) che si può caricare su un libro. Aumentalo per i PDF scansionati.
MAX_IMPORT_FILE_SIZE_MB10Il CSV più grande accettato da Importare libri.
MAX_JSON_BODY_PARSE100kbIl corpo di richiesta più grande che l'API legge. Valgono valori come 500kb o 1mb.
MAX_URLENCODED_BODY_PARSE100kbLo stesso, per le richieste in stile modulo.

Se metti un reverse proxy davanti, può avere un suo limite di caricamento. Nginx, per esempio, si ferma a 1m a meno che tu non aumenti client_max_body_size.

Ricerca delle informazioni sui libri ​

VariabilePredefinitoCosa fa
GOOGLE_BOOKS_API_KEYvuotoOpzionale. Ti dà più ricerche al giorno su Google Books. Open Library viene provata per prima e non richiede chiave.
LIBRARYTHING_API_KEYvuotoOpzionale. Un terzo posto dove cercare una copertina quando i primi due non ne hanno. Gratuito con un account LibraryThing.

Registri ​

VariabilePredefinitoCosa fa
LOGGER_PATH/app/logsDove viene scritto il registro dentro il contenitore. Il volume app-logs lo conserva. Lascialo così.
DEBUG_LOGGINGfalseRegistrazione dettagliata, con query del database e nomi di persone e record. Usala brevemente durante la risoluzione dei problemi, poi disattivala.

Un file di partenza ragionevole ​

ini
APP_TAG=1.3.5
FRONT_END_URL=https://books.example.com
JWT_SECRET=<output di: openssl rand -hex 32>
DB_PASSWORD=<una password lunga e casuale>
ALLOW_DEV_AUTH=false
TRUST_PROXY=true
REGISTRATION_ENABLED=false

È pensato per un server pubblico dietro un reverse proxy, dove hai già creato gli account che ti servono.

Released under the MIT License.