Prérequis et installation

Déployer la stack HRTime sur un serveur Linux avec Docker Compose

Prérequis serveur

ComposantRecommandation
OSLinux 64-bit récent recommandé (Debian 12+, Ubuntu 22.04 LTS+, Rocky/AlmaLinux 9+…). Windows Server est également possible via Docker Desktop (en mode conteneurs Linux). La version exacte importe peu tant que Docker et Docker Compose v2 sont à jour et exécutent des conteneurs Linux (les images de la stack sont Linux).
Mémoire8 Go (stack de base) ; ~12-16 Go si l'édition de documents (OnlyOffice) est activée
CPU4 vCPU (base) ; +2 vCPU avec OnlyOffice
Disque60 Go SSD minimum, NVMe recommandé
RéseauTLS public sur 443, DNS pointant vers le serveur
LogicielDocker Engine récent avec Docker Compose v2 intégré — idéalement la dernière version stable (28/29) ; minimum raisonnable Docker 25+. Accès d'administration à la machine : SSH (Linux) ou RDP (Windows Server).

ManageMate Intelligence (MMI) ne change rien au dimensionnement : c'est du Bring Your Own Key (appels API externes vers votre provider IA), aucun modèle ne tourne localement. La RAM est dimensionnée par la stack de base et, surtout, par l'édition de documents OnlyOffice (optionnelle).

Déploiement de la stack

Le déploiement se fait à partir d'un pack téléchargeable depuis votre Espace-Client : connectez-vous à votre espace (là où figure votre licence) et récupérez le pack de votre édition — un docker-compose.yml, qui référence directement les images pré-construites publiées sur le registre ManageMate au tag de votre version, et un modèle de fichier d'environnement. Aucun dépôt de code à cloner ni à compiler, et aucune authentification Docker (docker login) à réaliser : docker compose up -d récupère directement les images prêtes à l'emploi depuis le registre ManageMate.

# Depuis votre Espace-Client : télécharger le pack de déploiement (docker-compose.yml + modèle .env)
mkdir -p /srv/hrtime && cd /srv/hrtime
# y déposer le docker-compose.yml et les fichiers d'environnement fournis,
# puis les renseigner (voir variables ci-dessous)

Éditer les deux fichiers d'environnement (.env backend, .env.local frontend) avant le premier démarrage. Les variables essentielles côté backend :

  • Base de données : DB_HOST, DB_PORT, DB_USER, DB_PASSWORD, DB_NAME, et les équivalents AUDIT_DB_* pour la base d'audit.
  • Secrets : JWT_SECRET, JWT_REFRESH_SECRET, SESSION_SECRET, CSRF_SECRET, PROXY_SECRET, BANK_ENCRYPTION_KEY — générer des valeurs uniques et longues (32+ caractères aléatoires), ne jamais réutiliser celles d'un autre environnement.
  • Email : SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD, ADMIN_MAIL — indispensable pour les invitations, réinitialisations de mot de passe et notifications.
  • Documents : ONLYOFFICE_URL, ONLYOFFICE_JWT_SECRET si vous déployez l'édition de documents, et VAULT_KEK, VAULT_STORAGE_PATH pour le coffre-fort.

Ne jamais committer les fichiers .env. Conserver les secrets dans votre gestionnaire de secrets habituel.

Puis démarrer :

docker compose up -d

La première montée :

  1. crée le volume PostgreSQL,
  2. exécute automatiquement toutes les migrations de schéma,
  3. démarre le backend sur le port 25464 et le frontend sur le port 35666 (ce sont les ports internes à cibler depuis votre reverse proxy).

Le docker compose up -d télécharge les images depuis le registre ManageMate puis démarre la stack. Configurer ensuite votre reverse proxy TLS vers le frontend. Les mises à jour se font de la même manière (docker compose pull && docker compose up -d) au tag communiqué par ManageMate.

Premier démarrage

Ouvrir https://<votre-domaine> : le wizard d'installation se lance (création du compte administrateur, informations société, fuseau horaire). La procédure détaillée du wizard est décrite dans le setup initial du Guide de l'administrateur.

Pièges courants
  • Un SMTP non configuré est la première cause de tickets : aucune invitation ni réinitialisation de mot de passe ne part sans lui. Le tester dès l'installation.
  • Les migrations s'exécutent au boot du backend : ne jamais interrompre le conteneur pendant la première montée.
  • Le port 443 doit être terminé par votre reverse proxy : la stack n'embarque pas de TLS.
  • Dimensionner le disque en pensant aux sauvegardes PostgreSQL : elles relèvent de votre responsabilité (voir Mises à jour et maintenance).

Cet article fait partie du Guide On-Premise — version PDF complète