Boîte à outils

Docker Compose — ODK Central 2026.2.4

Le modèle directement importable dans un service Docker Compose Coolify pour ODK Central 2026.2.4.

Publication
septembre 2026
Langue
FR
Thématiques
Données pour le développement, Technologies pour le développement

Résumé

Cette ressource met en place PostgreSQL 14, aide de mise à niveau, génération de secrets, Pyxform, deux instances Redis dédiées à Enketo, puis Enketo, messagerie, Central Service, initialisation administrateur et Nginx. Profil retenu : central mono-instance avec enketo et initialisation administrateur. Elle accompagne le guide complet de déploiement.

Architecture

Postgresql 14, aide de mise à niveau, génération de secrets, pyxform, deux instances Redis dédiées à Enketo, puis Enketo, messagerie, central service, initialisation administrateur et nginx. Le domaine public est attribué au service d’entrée ; les autres composants communiquent sur le réseau interne.

Prérequis

Un serveur compatible avec les besoins de la solution, Docker géré par Coolify, un domaine pointé vers le serveur, un espace de stockage persistant et un accès administrateur à la plateforme. La mémoire, le processeur et le disque doivent être dimensionnés selon les utilisateurs, les données et les tâches de fond. ODK Central gère les projets, formulaires, soumissions et accès d’une chaîne ODK.

Variables, secrets et volumes

Les variables décrivent les domaines et le comportement de l’application. Les secrets sont générés une fois et partagés avec les services qui utilisent la même identité. L’état durable comprend PostgreSQL, pièces jointes, configuration Enketo et Central, secrets et état utile de Redis.

Installation et validation

Créer un service Docker Compose, importer le fichier, attribuer le domaine, compléter les paramètres puis lancer le déploiement. Attendre les initialisations et exercer le parcours suivant : déploiement frais, aides d’initialisation, services applicatifs, hôte public, administration, parcours ODK, redéploiement, sauvegarde et restauration isolée.

Sauvegarde, restauration et mise à jour

Créer une archive de la base et des pièces jointes, puis restaurer les secrets et les services dans leur ordre de dépendance. Avant une mise à jour, produire un point de reprise, tester la nouvelle version dans un environnement isolé et rejouer le parcours d’acceptation.

Lecture du fichier

Le bloc services décrit les conteneurs et leurs responsabilités. Les ancres réutilisent les variables communes sans dupliquer leur définition. Les volumes nommés identifient les états qui survivent aux redéploiements. Les contrôles de santé et les conditions de dépendance organisent le passage de la base vers l’initialisation, puis vers le service courant. Associé à ODK Collect, il permet de préparer les formulaires au bureau, de saisir hors connexion puis de transmettre quand le réseau revient.

Avant toute adaptation, repérer le service exposé, le propriétaire des migrations, les travailleurs, les magasins d’état et les fichiers gérés. Modifier ensuite une responsabilité à la fois et conserver un parcours de validation reproductible. L’organisation doit gouverner versions de formulaire, identifiants d’instance, appareils, comptes, pièces jointes et corrections après synchronisation.

Exploitation

Après installation, suivre le domaine public, les certificats, la santé des services, l’espace disque, les files et la croissance des bases. Les comptes administrateurs nominatifs remplacent les accès partagés. Les changements de configuration sont relus, datés et accompagnés d’un contrôle fonctionnel. La composition reprend Central Service, Nginx, Pyxform, Enketo, deux Redis Enketo, la messagerie, PostgreSQL et les tâches d’initialisation ou de mise à niveau.

Adapter sans casser le contrat

Une nouvelle version peut modifier les images, variables, migrations ou chemins persistants. Comparer la composition avec la documentation de la version ciblée, mettre à jour dans un environnement isolé et vérifier les fonctions réellement utilisées. Le modèle reste un point de départ opérationnel, pas un substitut à l’administration du service. Nginx constitue l’unique surface publique.

Contrôles avant partage

Vérifier que le fichier ne contient aucun mot de passe ni domaine privé, que les images sont versionnées, que tous les volumes utiles sont nommés et que le service public possède un contrôle de santé. Relire ensuite les instructions d’installation avec une personne qui n’a pas participé à la conception. Des fichiers attendus par le bundle de déploiement sont fournis comme ressources gérées, sans reconstruire localement les images amont dans le chemin Coolify.

Points de contrôle du modèle

Le modèle contient un chemin de base PostgreSQL 14 et des volumes historiques nécessaires aux scénarios de mise à niveau ; ils ne doivent pas être interprétés comme plusieurs bases actives à fusionner. Les secrets Enketo et Central gardent leur identité sur tous les services. Après restauration, le contrôle ouvre un projet, soumet une instance et vérifie sa présence avec ses pièces jointes.