Aller au contenu

Installer Arcanum

Arcanum se livre sous la forme d’une seule image Docker accompagnée d’une base de données Postgres. Tout — la signature WSAA, les clés privées chiffrées, le trafic SOAP vers ARCA — se passe à l’intérieur de votre conteneur. Aucune authentification ne transite par un tiers.

Docker

Le chemin recommandé. Le docker compose fourni démarre l’application et Postgres ensemble.

Deux secrets

Une clé API (protège la surface REST) et une clé maître (chiffre les clés privées au repos). Générez-les avec openssl.

Un certificat ARCA

Par CUIT, en homologation ou en production. Arcanum génère le CSR ; vous le téléversez sur ARCA et collez en retour le .crt.

Générez d’abord les deux secrets :

Fenêtre de terminal
openssl rand -hex 24 # ARCANUM_API_KEY (protects the API)
openssl rand -hex 32 # ARCANUM_MASTER_KEY (encrypts the private keys — keep it safe)
Fenêtre de terminal
git clone https://github.com/diegoparras/arcanum.git && cd arcanum
cp .env.example .env
# edit .env: set ARCANUM_API_KEY and ARCANUM_MASTER_KEY
docker compose up -d

Le fichier compose démarre Postgres et l’application ensemble, mappe le port 8094 et redémarre sauf en cas d’arrêt manuel. Ouvrez ensuite http://localhost:8094.

  1. Ouvrez http://localhost:8094 et connectez-vous (ARCANUM_ADMIN_USER / ARCANUM_ADMIN_PASS, ou le mot de passe affiché une seule fois dans les logs si vous l’avez laissé vide).
  2. Choisissez l’environnement — homologation ou production — depuis le menu (environnement ARCA). Vous pourrez le changer plus tard, à chaud, sans redéployer.
  3. Ajoutez un client (CUIT). Arcanum génère le CSR ; téléversez-le sur ARCA et collez en retour le .crt. La clé privée est stockée chiffrée.
  4. Suivez le guide d’activation par service pour autoriser chaque service web, puis lancez votre premier appel depuis le panneau ou en REST.

Toute la configuration réside dans .env (copiez-le depuis .env.example).

VariableDefaultDescription
PORT8094Port sur lequel écoute l’application.
ARCANUM_ENVhomoEnvironnement ARCA par défaut : homo (test) ou prod. Modifiable dans l’interface.
ARCANUM_API_KEY(empty)Clé pour l’API REST (X-API-Key). Vide → générée et affichée une seule fois dans les logs.
ARCANUM_MASTER_KEY(empty)Clé hexadécimale de 32 octets qui chiffre les clés privées au repos.
DATABASE_URL(compose)Chaîne de connexion PostgreSQL. Le fichier compose la relie au arcanum-db fourni.
POSTGRES_USER / POSTGRES_PASSWORD / POSTGRES_DBarcanumIdentifiants du Postgres fourni.
ARCANUM_ADMIN_USER(empty)Nom d’utilisateur administrateur du panneau web.
ARCANUM_ADMIN_PASS(empty)Mot de passe administrateur. Vide → généré et affiché une seule fois dans les logs.
ARCANUM_OIDC_ISSUER(empty)URL de l’émetteur Lockatus — à définir pour fédérer le login (SSO optionnel).
ARCANUM_OIDC_CLIENT_ID(empty)Slug de l’application dans Lockatus (arcanum) en mode fédéré.
ARCANUM_OIDC_CLIENT_SECRET(empty)Secret client OIDC, en mode fédéré.