Aller au contenu

Installer notarum

notarum tient dans une seule image Docker et ne demande aucun service externe. Le binaire est statique, pèse environ 38 Mo et embarque tout : le lecteur, l’API, le serveur MCP et le contrat OpenAPI.

Docker

Le chemin pris en charge. Rien d’autre à installer : pas de runtime, pas d’étape de build, pas de ressources tierces.

Un endroit où garder les données

Un volume monté, ou une base Postgres. Sans l’un des deux, tout est perdu au prochain déploiement — voir plus bas.

Environ 1 Go de RAM

Uniquement si vous activez l’index de recherche national, qui garde 428 000 normes en mémoire. Sans lui, bien moins.

Postgres est le meilleur choix pour deux raisons : rien n’est écrit sur disque, donc les sauvegardes relèvent de votre base et sont déjà réglées ; et les écritures massives partent par lots, ce qui compte quand une synchronisation écrit plus d’un million de lignes.

Fenêtre de terminal
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=vous@exemple.com \
-e NOTARUM_ADMIN_CLAVE='un mot de passe long à vous' \
ghcr.io/diegoparras/notarum:latest

N’importe quel Postgres 13+ avec contrib convient : unaccent et to_tsvector('spanish', …) sont ce qui permet la recherche insensible aux accents. L’image pgvector/pgvector:pg17 est un bon choix : construite sur l’image officielle, elle apporte les deux.

Ouvrez http://localhost:8080 et vous lisez déjà le Journal du jour.

  1. Connectez-vous avec le compte d’administration défini dans vos variables d’environnement. Si vous n’avez pas fixé de mot de passe, un est généré et affiché une seule fois dans le log.

  2. Ouvrez le panneau sur /admin. Regardez ce qu’il dit du stockage : sur un volume neuf il dira qu’il a démarré vide, ce qui est normal la première fois. S’il le répète après un déploiement, vos données ne sont pas conservées.

  3. Synchronisez les catalogues. Synchroniser InfoLEG prend quelques minutes et récupère les 428 000 normes nationales plus les relations de modification. Télécharger le droit provincial prend quelques secondes.

  4. Remplissez le Journal pour la période qui vous intéresse. Avec le texte de chaque avis c’est bien plus long — une requête par avis, au rythme que le Journal tolère — mais c’est ce qui fait que la recherche atteint le corps et pas seulement le sommaire.

  5. Créez un jeton depuis votre compte, pour l’API et le MCP.

Ensuite il se débrouille : les catalogues se rafraîchissent chaque jour et le Journal télécharge une semaine entière le samedi à 4 h du matin.

Tout a une valeur par défaut raisonnable. Celles qui comptent :

VariableCe qu’elle fait
NOTARUM_ALMACENdisco, sqlite ou postgres
NOTARUM_POSTGRES_DSNLa chaîne de connexion complète, ou utilisez _HOST, _BASE, _USUARIO, _CLAVE
NOTARUM_ADMIN_USUARIO / _CLAVELe compte qui administre. Le mot de passe ici garantit de pouvoir toujours revenir
NOTARUM_ACCESOabierto, mixto ou cerrado. Modifiable aussi depuis le panneau, à chaud
NOTARUM_BUSCADOR_INFOLEGActive la recherche nationale. Coûte environ 480 Mo de mémoire, donc optionnelle
NOTARUM_ACTUALIZAR_A_LASHeure de rafraîchissement des catalogues. Par défaut 05:00
NOTARUM_BOLETIN_A_LASHeure du téléchargement hebdomadaire du Journal. Par défaut 04:00, le samedi
NOTARUM_ZONAFuseau horaire de ces heures. Par défaut America/Argentina/Buenos_Aires
NOTARUM_MEMORIA_MAXUn plafond comme 1GB. Lu depuis le conteneur si absent
NOTARUM_AUTHfederado délègue la connexion à Lockatus, à côté du formulaire local

Les variables oui/non comprennent 1/0, si/no, true/false et on/off.

Passer de SQLite à Postgres n’oblige pas à retélécharger les catalogues :

Fenêtre de terminal
notarum migrar --origen sqlite --db /datos/notarum.db

À lancer avec la configuration du nouveau moteur en place et l’ancien comme source. Les entrées expirées ne sont pas reprises, et l’index de recherche est reconstruit plutôt que traduit.