rescriptum
Installation
Guide
Installation
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é.
| Cible | Pour |
|---|---|
armv7-unknown-linux-gnueabihf | Synology DS416j et autres NAS ARMv7 (glibc ≥ 2.17) |
aarch64-unknown-linux-musl | NAS ARM récents, Raspberry Pi |
x86_64-unknown-linux-musl | la plupart des autres hôtes Linux |
aarch64-apple-darwin | développement local, Apple silicon |
x86_64-apple-darwin | dé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 :
| Champ | Signification |
|---|---|
listening on | l’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
- Servir sa première réponse — une vraie machine recevant un vrai document.
- Déploiement — systemd, ou le planificateur de tâches DSM.