rescriptum · an answer written for this machine
FR
Sur cette page

Installation

rescriptum est un binaire autonome. Pas de runtime à installer, pas d’interpréteur, pas d’image de conteneur, et rien d’écrit en dehors du répertoire que vous lui indiquez. Copiez-le quelque part et lancez-le.

Télécharger une release

Les binaires de chaque cible publiée sont attachés à chaque release, avec une somme SHA-256 à côté.

CiblePour
armv7-unknown-linux-gnueabihfSynology DS416j et autres NAS ARMv7 (glibc ≥ 2.17)
aarch64-unknown-linux-muslNAS ARM récents, Raspberry Pi
x86_64-unknown-linux-muslla plupart des autres hôtes Linux
aarch64-apple-darwindéveloppement local, Apple silicon
x86_64-apple-darwindéveloppement local, Mac Intel
$ VERSION=0.2.0 TARGET=x86_64-unknown-linux-musl
$ curl -fsSLO https://github.com/z29k/rescriptum/releases/download/v$VERSION/rescriptum-$VERSION-$TARGET.tar.gz
$ curl -fsSLO https://github.com/z29k/rescriptum/releases/download/v$VERSION/rescriptum-$VERSION-$TARGET.tar.gz.sha256
$ shasum -a 256 -c rescriptum-$VERSION-$TARGET.tar.gz.sha256
$ tar xzf rescriptum-$VERSION-$TARGET.tar.gz
$ sudo install -m755 rescriptum-$VERSION-$TARGET/rescriptum /usr/local/bin/

Vérifiez la somme. Ce binaire tourne en root sur du matériel que vous êtes sur le point d’installer, ce qui représente à peu près toute la confiance qu’un programme puisse obtenir.

Sur un Synology

Prenez plutôt le .spk de votre modèle — rescriptum-<version>-armv7.spk pour le DS416j et les autres machines armada38x, -x86_64.spk pour tous les modèles Intel — et installez-le par Package Center → Installation manuelle. Il crée le dossier partagé, enregistre le port auprès du pare-feu, lie le CLI dans le PATH et démarre au boot. Les détails, et ce qu’il ne fait délibérément pas pour vous, sont sur la page Synology.

Les builds Linux sont liés à musl statiquement — sauf armv7, qui vise la glibc 2.17 parce que musl 1.2 ne peut pas tourner sur les noyaux 3.10 de Synology (voir la page de build) :

$ file /usr/local/bin/rescriptum
ELF 64-bit LSB executable, x86-64, ... statically linked, stripped

Ou le construire

Un build natif ne demande qu’une toolchain Rust :

$ git clone https://github.com/z29k/rescriptum && cd rescriptum
$ ./build.sh

La compilation croisée pour le NAS demande cargo-zigbuild et Zig, qui remplacent une toolchain croisée complète. La page de build donne les détails, y compris ce qu’il faut vérifier selon la cible : que les builds musl sont bien statiques, et que le build armv7 ne réclame pas une glibc plus récente que celle du NAS — les deux échouent au moment de l’exec, sur la machine, et non au build sur votre portable.

Le lancer

$ mkdir -p /srv/answers
$ RESCRIPTUM_ANSWERS_DIR=/srv/answers rescriptum
2026-08-22T18:00:00Z - rescriptum 0.1.0 listening on 0.0.0.0:8000 — store=files:/srv/answers workers=8 max_conn=2048 timeout=10s
2026-08-22T18:00:00Z - warning: /srv/answers does not exist yet — every request will 404 until it does

La ligne de démarrage mérite d’être lue plutôt que défilée :

ChampSignification
listening onl’adresse réellement bindée, pas celle demandée — avec :0 elles diffèrent
store=files:<dir> ou sqlite:<path>, pour qu’un store mal configuré saute aux yeux
workers=threads du runtime, nombre de CPU par défaut. Pas une limite de concurrence
max_conn=connexions en vol avant que le serveur ne délestage en 503
timeout=délai de lecture des en-têtes et échéance de la connexion entière

Tout ce qui cloche dans le jeu de réponses — un groupe qui étend un groupe inexistant, un document qui ne parse pas — est aussi signalé ici, une fois, au démarrage. C’est également signalé par rescriptum check, qui est le meilleur endroit pour l’apprendre.

Confirmez qu’il est vivant :

$ curl http://localhost:8000/health
OK

GET /health est le seul endpoint qui n’exige jamais de jeton et n’est jamais limité en débit, donc une supervision continue de fonctionner même pendant que le serveur refuse tout le reste.

Où il regarde par défaut

RESCRIPTUM_ANSWERS_DIR vaut par défaut /srv/answers, et RESCRIPTUM_DB_PATH /srv/answers.db. /srv est l’endroit où la norme de hiérarchie des fichiers range les données servies par le système, ce qu’elles sont. Rien ne crée le répertoire pour vous ; la ligne de démarrage le signale s’il manque.

Tout se configure par l’environnement ; il n’y a pas de format de configuration à apprendre ni de ligne de commande à se tromper. Si vous n’avez nulle part où mettre un jeton — DSM 7, par exemple — RESCRIPTUM_ENV_FILE nomme un fichier contenant les mêmes variables. La liste complète est dans la référence de configuration.

Ensuite

Mis à jour le Modifier cette page