01 / Déploiement · Auto-hébergement

Auto-hébergement Aegirex
libre, complet, documenté.

Aegirex est livré sous code source unique AGPL-3.0, exécutable aussi bien sur l'infrastructure d'Aegirex SASU que sur la vôtre. Le mode self-host couvre l'intégralité des fonctionnalités Pro, Business et Enterprise sans restriction : RBAC granulaire, SCIM 2.0, SSO SAML 2.0 et OIDC, audit log longue durée. Vous opérez votre instance sur le datacenter de votre choix, en Docker Compose, en Kubernetes managé chez un opérateur qualifié SecNumCloud ou en déploiement air-gap strict.

AGPL-3.0 Docker Compose Kubernetes Air-gap supporté Aucune télémétrie sortante
02 / Motivations

Pourquoi auto-héberger un gestionnaire de mots de passe ?

Quatre motivations distinctes amènent une organisation à opérer elle-même son coffre-fort B2B plutôt que de souscrire au SaaS Cloud Aegirex. Toutes restent compatibles d'une bascule ultérieure en cas d'évolution des contraintes internes.

Contrôle radical des données

Air-gap possible, isolation réseau stricte, DMZ interne, absence totale de télémétrie sortante. Les données chiffrées ne quittent jamais le périmètre que vous définissez. Aucun tiers ne peut requérir l'accès à votre instance.

Conformité sectorielle facilitée

Déploiement chez un hébergeur déjà qualifié SecNumCloud, HDS, ou aux exigences NIS2 et OIV. La couche applicative reste identique, la conformité de l'hébergement est portée par l'infrastructure de votre choix.

Code AGPL-3.0 vérifiable

Le dépôt public couvre l'intégralité du code applicatif, jusqu'aux primitives cryptographiques. OpenPGP.js v6, Argon2id, AES-256-GCM SEIPDv2, HMAC-SHA-256 : chaque choix d'algorithme est lisible et auditable.

Coût logiciel nul

La licence AGPL-3.0 est gratuite. Vous ne payez que l'infrastructure (compute, stockage, bande passante) et le temps interne d'opération. Pour les structures dont l'équipe ops est déjà dimensionnée, le TCO devient compétitif dès quelques dizaines de sièges actifs.

03 / Comparatif

Self-host vs SaaS Cloud Aegirex.

Aucune fonctionnalité logicielle n'est réservée au mode Cloud. Ce qui diffère, c'est qui exploite l'infrastructure et qui porte les garanties contractuelles. Le tableau ci-dessous résume les quinze dimensions qui structurent la décision.

Dimension Self-host SaaS Cloud Aegirex
Code source AGPL-3.0, accès complet, fork autorisé AGPL-3.0, accès complet, fork autorisé
Tarif logiciel 0 € 0 € à 6 €/siège/mois selon plan
Hébergement Client (infra propre, IaaS de son choix, datacenter dédié) Aegirex SASU (hébergeur souverain européen)
Setup initial À la charge du client (Docker Compose ou Kubernetes) Inclus, automatisé (provisioning en quelques minutes)
Maintenance OS et runtime À la charge du client Inclus
Sauvegardes À la charge du client (procédure documentée) Inclus, snapshots quotidiens chiffrés
Mises à jour À la charge du client (image Docker tagguée, plan d'upgrade fourni) Inclus, fenêtre de maintenance annoncée
SLA disponibilité Aucun (le client opère son infra) Best effort (Free), 99,5 % (Business), négocié (Enterprise)
Support Communautaire (forum, issues GitHub) Communautaire + e-mail J+1 ouvré (Business) + téléphone (Enterprise)
Multi-organisation Oui (compte-pivot, RBAC granulaire) Oui (compte-pivot, RBAC granulaire)
DPA Non applicable (le client est responsable de traitement) DPA standardisé (Business) ou négocié (Enterprise)
Conformité À la charge du client Hébergeur qualifié, trajectoire SecNumCloud visée
Cible typique Cabinets cybersécurité avec ops mûres, OIV, organisations ayant déjà une équipe ops dimensionnée TPE, PME, ETI, cabinets sans équipe ops dédiée, structures préférant payer pour ne pas opérer
Coût total possession Variable : 0 € licence + temps interne + infra Prévisible : abonnement par siège, tout inclus
Air-gap Supporté (aucune télémétrie sortante par défaut) Non applicable (instance opérée par Aegirex SASU)

Lecture du tableau. Pour une équipe de moins de cinquante sièges actifs sans équipe ops dédiée, le SaaS Cloud est souvent le choix rationnel. Au-delà, ou si la souveraineté infra est une exigence réglementaire ou contractuelle, le self-host devient pertinent. Les deux migrations sont prévues et documentées.

04 / Pré-requis

Pré-requis techniques.

Trois pré-requis seulement, tous standards dans un environnement serveur moderne. Aucun service tiers obligatoire à l'exécution, aucun port sortant non standard, aucun protocole propriétaire.

Serveur Linux et runtime container

Un serveur Linux x86_64 ou ARM64 avec Docker 24 ou supérieur et Docker Compose v2. Debian, Ubuntu LTS, Red Hat Enterprise Linux et leurs dérivés sont testés en continu. Le runtime container fonctionne aussi bien sur machine virtuelle dédiée que sur Kubernetes managé.

Dimensionnement

2 vCPU et 4 Go de RAM suffisent pour cinquante utilisateurs actifs. Pour cinq cents utilisateurs, prévoir 8 vCPU et 16 Go de RAM. Le stockage dépend du nombre de secrets : comptez environ 100 Mo de base par millier de secrets, plus la rétention des logs d'audit selon votre plan.

Nom de domaine et certificat TLS

Un nom de domaine et un certificat TLS valide. Let's Encrypt est documenté et fonctionne sans configuration spécifique. Aucun port sortant non standard n'est requis. Un déploiement air-gap est possible sans modification du code applicatif : l'instance ne consulte aucun service externe au runtime.

05 / Installation

Installation en cinq minutes.

Trois variantes de déploiement supportées, du POC de cabinet indépendant à la production multi-AZ d'un opérateur d'importance vitale. Le même code, trois orchestrations.

 Variante 1 — Docker Compose

Recommandé pour les POC, les petites équipes et les environnements de développement. Une seule machine, persistance locale ou volume réseau, déploiement en moins de cinq minutes.

git clone https://github.com/aegirex/aegirex.git
cd aegirex
cp .env.dist .env
# éditer .env : APP_SECRET, DATABASE_URL, MAILER_DSN, AUDIT_HMAC_KEY
make build
make up
make migrate
# l'instance est disponible sur https://votre-domaine.example

 Variante 2 — Kubernetes

Recommandé en production, sur cluster managé ou self-managed. Manifestes officiels et chart Helm fournis. Compatible avec les clusters Kubernetes des opérateurs qualifiés SecNumCloud (OVHcloud, Outscale, Cloud Temple, NumSpot).

helm repo add aegirex https://charts.aegirex.eu
helm repo update
helm install aegirex aegirex/aegirex \
  --namespace aegirex --create-namespace \
  --values values.production.yaml
kubectl -n aegirex rollout status deployment/aegirex-app
kubectl -n aegirex exec deploy/aegirex-app -- bin/console doctrine:migrations:migrate

 Variante 3 — Air-gap

Recommandé pour les environnements à souveraineté radicale : OIV, défense, recherche classifiée. Aucune connexion sortante, sauvegardes manuelles, mises à jour via registre miroir interne.

# sur poste connecté
docker pull ghcr.io/aegirex/aegirex:v1.4.2
docker save ghcr.io/aegirex/aegirex:v1.4.2 -o aegirex-v1.4.2.tar
# transfert physique vers le réseau air-gap (USB scellé, diode réseau)
# sur instance air-gap
docker load -i aegirex-v1.4.2.tar
docker tag ghcr.io/aegirex/aegirex:v1.4.2 registry.internal/aegirex:v1.4.2
docker compose -f docker-compose.airgap.yml up -d
bin/console doctrine:migrations:migrate
06 / Architecture

Architecture technique de la stack.

Une stack PHP moderne, sans SPA, sans npm, sans dépendance runtime à un service tiers. Chaque brique est documentée et auditable indépendamment.

Backend

PHP 8.4, Symfony 7.4, Doctrine ORM 3, MariaDB 11. FPM ou FrankenPHP au choix. Aucune extension PHP propriétaire. Migrations Doctrine versionnées, rollback testé.

Frontend

Twig côté serveur + Stimulus côté client. AssetMapper pour la livraison (pas de npm, pas de bundler tiers). CSS custom modulaire. Pas de SPA, pas de framework JavaScript propriétaire.

Cryptographie côté client

OpenPGP.js v6 avec X25519, Ed25519 et AES-256-GCM SEIPDv2. Dérivation Argon2id du mot de passe maître (RFC 9106, 5 passes, 256 MiB, parallélisme 4). Les clés privées ne quittent jamais le navigateur.

Audit chain HMAC-SHA-256

Chaîne d'audit scellée et chaînée cryptographiquement par HMAC-SHA-256. Vérification indépendante par bin/console aegirex:audit:verify. Détection de toute tentative de falsification rétroactive, opposable au juge comme au RSSI.

Authentification

Symfony Security + scheb/2fa-bundle : e-mail, TOTP (RFC 6238), codes de secours. SSO SAML 2.0 et OIDC (RFC 6749 et RFC 7519). Passkeys WebAuthn (W3C WebAuthn Level 2) en option.

Stockage et file d'attente

Tout dans MariaDB 11 : schéma relationnel, blobs limités à 1 Mo. Pas de stockage objet externe requis. File d'attente via Symfony Messenger + transport Doctrine, sans dépendance Redis pour la V1.

07 / Opérations

Sauvegardes, maintenance, mises à jour.

Trois procédures industrialisées et documentées. Le mode self-host transfère la responsabilité opérationnelle au client, sans en faire un fardeau : les commandes sont scriptables, idempotentes et testées en intégration continue.

Sauvegarde chiffrée

La commande bin/console aegirex:backup:create produit un fichier exportable chiffré au format OpenPGP, avec rotation automatique. Le destinataire de la sauvegarde est configurable (clé d'archivage organisationnelle). La restauration est documentée et testée à chaque release.

Mises à jour applicatives

Image Docker tagguée en semantic versioning sur ghcr.io/aegirex/aegirex. Un plan d'upgrade est fourni à chaque version mineure avec migrations Doctrine automatisées. Les changements breaking sont annoncés au moins une version mineure à l'avance.

Rollback en moins de cinq minutes

La combinaison snapshot de base de données plus image Docker précédente permet un retour en arrière en moins de cinq minutes. Les migrations Doctrine fournissent leur méthode down() testée. Aucune intervention manuelle sur le schéma SQL n'est requise.

08 / Conformité

Conformité sectorielle facilitée.

Le mode self-host vous permet de porter la conformité au niveau de l'hébergeur que vous avez choisi. Quatre régimes courants sont documentés ci-dessous, sans engager Aegirex SASU au-delà du code applicatif sous AGPL-3.0.

SecNumCloud

Déployable chez OVHcloud Hosted Private Cloud, Outscale 3DS, Cloud Temple ou NumSpot, opérateurs qualifiés par l'ANSSI. La trajectoire SecNumCloud reste un objectif visé pour le SaaS Cloud Aegirex ; en self-host, la qualification effective dépend de votre hébergeur.

HDS · santé

Déployable chez un hébergeur certifié HDS pour les opérateurs santé. Le code applicatif s'inscrit dans la chaîne HDS de bout en bout dès lors que l'infrastructure sous-jacente est qualifiée. L'audit log longue durée est disponible nativement.

OIV et NIS2

Déploiement air-gap supporté. Code AGPL-3.0 auditable par votre RSSI, jusqu'aux primitives cryptographiques. L'audit chain HMAC-SHA-256 produit une traçabilité opposable aux autorités de contrôle sectorielles.

RGPD

En mode self-host, vous restez seul responsable de traitement. Aucun sous-traitant Aegirex n'intervient dans le chemin de données. Aegirex SASU n'est jamais sous-traitant au sens du RGPD : la relation se limite à la mise à disposition du code source AGPL-3.0.

09 / Cibles

Cas d'usage typiques.

Trois profils d'organisations choisissent fréquemment le mode self-host. Le point commun : une équipe ops Linux déjà dimensionnée et capable d'opérer un service Symfony avec base relationnelle en production.

Profil 1

Cabinets cybersécurité aux opérations mûres

ESN sécurité, cabinets de conseil cybersécurité, équipes pentest internalisées. Ils opèrent déjà un SI durci, disposent d'une équipe ops senior et veulent appliquer en interne les critères qu'ils auditent chez leurs clients. Le self-host leur permet de prouver la cohérence entre discours et outillage.

Profil 2

Secteur public à souveraineté radicale

Collectivités, agences, opérateurs essentiels au sens NIS2, organisations sous tutelle. Politique interne de refus de tout SaaS, même français qualifié. Le self-host garantit que la donnée chiffrée et son audit chain restent strictement dans le périmètre administratif souhaité.

Profil 3

ESN intégrateurs et revendeurs managés

ESN qui revendent à leurs propres clients une instance Aegirex managée par leurs soins. Le mode self-host devient une brique de leur offre commerciale : ils opèrent la plateforme, facturent à leurs clients, et conservent la relation. La licence AGPL-3.0 autorise expressément cet usage commercial.

10 / FAQ technique

Questions fréquentes des équipes ops.

Huit questions récurrentes posées par les RSSI et les équipes DevOps lors de l'évaluation du mode self-host. Si la vôtre manque, écrivez-nous.

Le code est-il vraiment identique entre Self-host et Cloud ?

Oui. Le dépôt aegirex/aegirex contient l'intégralité du code applicatif sous AGPL-3.0. Aucune fonctionnalité Pro, Business ou Enterprise n'est réservée au mode Cloud. Les seules différences tiennent à la configuration runtime (variables d'environnement, secrets ANSSI-track, paramétrage hébergeur) et au rattachement de l'instance Cloud à l'infrastructure de supervision et de facturation exploitée par Aegirex SASU. Aucun module logiciel propriétaire n'est ajouté côté Cloud.

Comment migrer mon self-host vers le SaaS Cloud (et inversement) ?

La migration repose sur l'export complet du coffre via les outils intégrés (export JSON déchiffré côté utilisateur, conformément aux articles RGPD 17 et 20) et l'import dans une organisation cible fraîche. La migration ne préserve pas l'historique d'audit en l'état : l'audit chain redémarre à la date d'import, le journal source est conservé en archive téléchargeable. La rotation des clés HMAC d'audit côté instance cible démarre une nouvelle chaîne. Le code étant identique, la compatibilité de schéma est garantie.

Quel est le coût total annuel typique d'un self-host (infra + ops) ?

La licence logicielle AGPL-3.0 est gratuite. Pour un cabinet de trente personnes avec trois serveurs Linux internes, comptez typiquement 50 à 150 € par mois d'hébergeur souverain pour le compute et le stockage, plus 500 à 2 000 € par mois de coût opérationnel marginal (0,1 à 0,3 ETP pour mises à jour, sauvegardes et supervision). Le self-host devient économiquement intéressant à partir d'effectifs où le coût ops marginal devient négligeable et où l'équipe ops est déjà dimensionnée. En-dessous de cinquante sièges actifs, le Cloud est très souvent le choix rationnel sauf exigence stricte de souveraineté infrastructure.

Comment intégrer le SSO LDAP, Keycloak ou Authentik ?

Le bundle Symfony Security expose SAML 2.0 et OpenID Connect. La configuration se fait via variables d'environnement, sans recompilation. Un connecteur OIDC valide pour Keycloak, Authentik ou tout fournisseur conforme RFC 6749 et RFC 7519. Pour LDAP, le binding direct est documenté avec mapping des groupes vers les rôles RBAC. Le SCIM 2.0 (RFC 7644) est disponible en Business pour le provisioning automatisé.

Aegirex tourne-t-il en Kubernetes managé (EKS, GKE, AKS, Kapsule) ?

Oui, le déploiement Kubernetes est documenté pour les distributions standard. Les manifestes incluent les Deployment, Service, Ingress, PersistentVolumeClaim et ConfigMap nécessaires. Un chart Helm officiel est fourni avec valeurs par défaut adaptées aux clusters managés. Pour la souveraineté des données, l'usage de Kubernetes managé chez un opérateur qualifié SecNumCloud (OVHcloud, Outscale, Cloud Temple, NumSpot) est recommandé ; les clusters managés extra-européens restent techniquement compatibles mais sortent du cadre des préconisations souveraines.

Quel monitoring recommandé (Prometheus, OpenTelemetry, ELK) ?

L'instance expose des métriques compatibles Prometheus sur un endpoint dédié, et émet des traces OpenTelemetry sur les requêtes critiques. Les logs applicatifs sont émis au format JSON structuré, ingérables directement par ELK, Loki ou tout collecteur Syslog standard. Les événements d'audit sont exportables aux formats CEF, LEEF et OCSF pour les SIEM Splunk, Elastic, QRadar et Microsoft Sentinel. Aucune télémétrie n'est envoyée vers un service tiers par défaut.

Quel est le plan de support communautaire vs payant ?

Le support communautaire passe par le forum public et les issues GitHub : sans engagement de délai, animé par les contributeurs et l'équipe Aegirex. Un accompagnement payant est disponible pour les organisations souhaitant un déploiement audité, une intégration SSO complexe, une mise en place de cluster haute disponibilité ou une revue d'architecture avant mise en production. Aucun SLA n'est attaché au mode self-host : par construction, c'est le client qui opère l'infrastructure.

Comment basculer en air-gap après une installation standard ?

L'air-gap consiste à supprimer toute connectivité sortante de l'instance Aegirex. Les pré-requis sont : un registre Docker miroir interne pour les mises à jour d'images, un dépôt de paquets miroir pour les dépendances OS, un canal manuel d'export et d'import des sauvegardes chiffrées. Aucune télémétrie n'étant émise par défaut, l'application elle-même n'a aucune dépendance runtime à un service externe. Les webhooks sortants peuvent être désactivés par configuration, ou routés vers un relais interne. La procédure complète est documentée dans le guide air-gap du dépôt.

12 / Démarrer

Self-host Aegirex,
votre infrastructure, votre périmètre.

Lisez la documentation technique complète sur GitHub ou demandez un accompagnement audité pour un déploiement en production. Aucune relance commerciale agressive : un échange technique sur la pertinence de la solution dans votre contexte.

Code AGPL-3.0, accès complet, fork autorisé
Docker Compose en moins de cinq minutes
Kubernetes managé chez opérateur qualifié SecNumCloud
Air-gap supporté, aucune télémétrie sortante
Audit chain HMAC-SHA-256 vérifiable indépendamment
Loading…
Loading the web debug toolbar…
Attempt #