Salta ai contenuti

Installare notarum

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.

Terminal window
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:latest

Va 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.

Apri http://localhost:8080 e stai già leggendo la Gazzetta di oggi.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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:

VariabileChe cosa fa
NOTARUM_ALMACENdisco, sqlite o postgres
NOTARUM_POSTGRES_DSNLa stringa di connessione intera, oppure usa _HOST, _BASE, _USUARIO, _CLAVE
NOTARUM_ADMIN_USUARIO / _CLAVEL’account che amministra. Con la password qui puoi sempre rientrare
NOTARUM_ACCESOabierto, mixto o cerrado. Modificabile anche dal pannello, a caldo
NOTARUM_BUSCADOR_INFOLEGAccende la ricerca nazionale. Costa circa 480 MB di memoria, perciò è opzionale
NOTARUM_ACTUALIZAR_A_LASQuando si aggiornano i cataloghi. Predefinito 05:00
NOTARUM_BOLETIN_A_LASQuando parte lo scarico settimanale della Gazzetta. Predefinito 04:00, il sabato
NOTARUM_ZONAIl fuso di quelle ore. Predefinito America/Argentina/Buenos_Aires
NOTARUM_MEMORIA_MAXUn tetto come 1GB. Se assente, si legge dal container
NOTARUM_AUTHfederado 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:

Terminal window
notarum migrar --origen sqlite --db /datos/notarum.db

Si 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.