跳转到内容

安装 notarum

notarum 是单一 Docker 镜像,不需要任何外部服务。二进制文件是静态的,约 38 MB,把一切都带在里面: 阅读器、API、MCP 服务和 OpenAPI 契约。

Docker

受支持的方式。不需要安装别的:没有运行时,没有构建步骤,没有第三方资源。

存放数据的地方

一个挂载卷,或者一个 Postgres 数据库。两者都没有的话,下一次部署就会丢光——见下文。

约 1 GB 内存

仅当你开启国家法规检索索引时才需要,它会把 42.8 万条法规放在内存里。不开的话要少得多。

Postgres 更合适,原因有二:不往磁盘写任何东西,所以备份是数据库的事,而且早就解决了;批量写入按批提交, 当一次同步要写超过一百万行时,这一点很关键。

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=you@example.com \
-e NOTARUM_ADMIN_CLAVE='一个你自己的长密码' \
ghcr.io/diegoparras/notarum:latest

任何带 contrib 的 Postgres 13+ 都可以:unaccentto_tsvector('spanish', …) 是让检索忽略重音的关键。 pgvector/pgvector:pg17 镜像是个不错的选择,它基于官方镜像构建,两样都带。

打开 http://localhost:8080,你已经在读今天的公报了。

  1. 登录,使用环境变量里配置的管理账号。如果你没有设置密码,会生成一个并在日志中只打印一次

  2. 打开面板 /admin。看它对存储的说明:全新的卷上会说它是空着启动的,第一次这样是对的。 如果部署之后还这么说,说明你的数据没有被保留。

  3. 同步目录。《同步 InfoLEG》需要几分钟,会带来 42.8 万条国家法规以及修改关系。 《下载省级法规》只需几秒。

  4. 补齐公报你关心的时间段。带上每则公告的全文会慢得多——每则公告一个请求,按公报能接受的节奏—— 但这正是让检索深入正文而不只是摘要的原因。

  5. 从你的账号创建一个令牌,供 API 和 MCP 使用。

之后它会自己运转:目录每天刷新,公报每周六凌晨 4 点下载整整一周。

一切都有合理的默认值。真正重要的这些:

变量作用
NOTARUM_ALMACENdiscosqlitepostgres
NOTARUM_POSTGRES_DSN完整连接串,或使用 _HOST_BASE_USUARIO_CLAVE 分开配置
NOTARUM_ADMIN_USUARIO / _CLAVE管理账号。密码写在这里,就永远能重新进来
NOTARUM_ACCESOabiertomixtocerrado。也可以在面板里即时修改
NOTARUM_BUSCADOR_INFOLEG开启国家法规检索。约需 480 MB 内存,因此默认关闭
NOTARUM_ACTUALIZAR_A_LAS目录刷新的时间。默认 05:00
NOTARUM_BOLETIN_A_LAS公报每周下载的时间。默认周六 04:00
NOTARUM_ZONA上述时间所用时区。默认 America/Argentina/Buenos_Aires
NOTARUM_MEMORIA_MAX内存上限,例如 1GB。未设置时从容器读取
NOTARUM_AUTHfederado 把登录交给 Lockatus,与本地表单并存

是/否类变量支持 1/0si/notrue/falseon/off

从 SQLite 换到 Postgres,不必重新下载目录:

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

在新引擎的配置就位、旧引擎作为来源的情况下运行。过期条目不会被带过去,检索索引是重建而不是翻译的。