Docker
Il percorso supportato. Nient’altro da installare: niente runtime, niente build, nessuna risorsa di terze parti.
notarum è una sola immagine Docker e non richiede alcun servizio esterno. Il binario è statico, pesa circa 38 MB e porta tutto dentro: il lettore, l’API, il server MCP e il contratto OpenAPI.
Docker
Il percorso supportato. Nient’altro da installare: niente runtime, niente build, nessuna risorsa di terze parti.
Dove tenere i dati
Un volume montato, oppure un database Postgres. Senza uno dei due, tutto si perde al prossimo deploy — vedi sotto.
Circa 1 GB di RAM
Solo se accendi l’indice di ricerca nazionale, che tiene 428.000 norme in memoria. Senza, molto meno.
Postgres è la scelta migliore per due motivi: non si scrive nulla su disco, quindi i backup sono un problema del tuo database e sono già risolti; e le scritture massive vanno a lotti, cosa che conta quando una sincronizzazione scrive più di un milione di righe.
docker run -d -p 8080:8080 \ -e NOTARUM_ALMACEN=postgres \ -e NOTARUM_POSTGRES_DSN='postgres://user:pass@host:5432/notarum?sslmode=disable' \ -e NOTARUM_ADMIN_USUARIO=tu@esempio.com \ -e NOTARUM_ADMIN_CLAVE='una password lunga tua' \ ghcr.io/diegoparras/notarum:latestVa bene qualsiasi Postgres 13+ con contrib: unaccent e to_tsvector('spanish', …) sono ciò che
rende la ricerca insensibile agli accenti. L’immagine pgvector/pgvector:pg17 è una buona scelta:
costruita su quella ufficiale, porta entrambe le cose.
docker run -d -p 8080:8080 \ -v notarum-datos:/datos \ -e NOTARUM_ALMACEN=sqlite \ -e NOTARUM_ADMIN_USUARIO=tu@esempio.com \ -e NOTARUM_ADMIN_CLAVE='una password lunga tua' \ ghcr.io/diegoparras/notarum:latestIl motore più semplice, per provare. Serve per data ma non indicizza, quindi la ricerca testuale interroga la Gazzetta invece di rispondere in locale.
docker run -d -p 8080:8080 -v notarum-datos:/datos \ ghcr.io/diegoparras/notarum:latestApri http://localhost:8080 e stai già leggendo la Gazzetta di oggi.
Accedi con l’account di amministrazione definito nelle variabili d’ambiente. Se non hai impostato una password, ne viene generata una e stampata una sola volta nel log.
Apri il pannello su /admin. Guarda che cosa dice dell’archiviazione: su un volume nuovo
dirà che è partito vuoto, ed è corretto la prima volta. Se lo ripete dopo un deploy, i tuoi dati
non vengono conservati.
Sincronizza i cataloghi. Sincronizzare InfoLEG richiede qualche minuto e porta le 428.000 norme nazionali più le relazioni di modifica. Scaricare la normativa provinciale richiede secondi.
Riempi la Gazzetta per il periodo che ti interessa. Con il testo di ogni avviso ci vuole molto di più — è una richiesta per avviso, al ritmo che la Gazzetta tollera — ma è ciò che fa arrivare la ricerca al corpo e non solo al sommario.
Crea un token dal tuo account, per l’API e per l’MCP.
Da lì in poi si arrangia: i cataloghi si aggiornano ogni giorno e la Gazzetta scarica una settimana intera il sabato alle 4 del mattino.
Tutto ha un valore predefinito ragionevole. Quelle che contano:
| Variabile | Che cosa fa |
|---|---|
NOTARUM_ALMACEN | disco, sqlite o postgres |
NOTARUM_POSTGRES_DSN | La stringa di connessione intera, oppure usa _HOST, _BASE, _USUARIO, _CLAVE |
NOTARUM_ADMIN_USUARIO / _CLAVE | L’account che amministra. Con la password qui puoi sempre rientrare |
NOTARUM_ACCESO | abierto, mixto o cerrado. Modificabile anche dal pannello, a caldo |
NOTARUM_BUSCADOR_INFOLEG | Accende la ricerca nazionale. Costa circa 480 MB di memoria, perciò è opzionale |
NOTARUM_ACTUALIZAR_A_LAS | Quando si aggiornano i cataloghi. Predefinito 05:00 |
NOTARUM_BOLETIN_A_LAS | Quando parte lo scarico settimanale della Gazzetta. Predefinito 04:00, il sabato |
NOTARUM_ZONA | Il fuso di quelle ore. Predefinito America/Argentina/Buenos_Aires |
NOTARUM_MEMORIA_MAX | Un tetto come 1GB. Se assente, si legge dal container |
NOTARUM_AUTH | federado delega l’accesso a Lockatus, accanto al modulo locale |
Le variabili sì/no capiscono 1/0, si/no, true/false e on/off.
Passare da SQLite a Postgres non costa riscaricare i cataloghi:
notarum migrar --origen sqlite --db /datos/notarum.dbSi esegue con la configurazione del motore nuovo già a posto e il vecchio come origine. Ciò che è scaduto non viene trascinato, e l’indice di ricerca si ricostruisce invece di essere tradotto.