Manuel technique
Installation à partir d'images Docker et de Docker Compose
De la réception du package de lancement jusqu'au premier lancement et à la signature du document d'acceptation.
01
1. Prise de contrôle et inspection
- Téléchargez le manifeste de la version, le fichier Compose, le modèle de configuration, la liste de contrôle des secrets et le manuel d'exploitation.
- Vérifiez les sommes de contrôle et les autorisations du registre. N'utilisez pas la dernière étiquette.
- Télécharger les images via une extraction contrôlée depuis l'environnement client ; l'installation ne doit pas nécessiter d'accès au service entrant uniquement pour distribuer une nouvelle version.
- Comparez le moteur Docker, le plugin Compose, le système d'exploitation, la base de données et le processeur compatibles avec l'environnement cible. L'utilisation de PostgreSQL, d'Oracle Database ou de Microsoft SQL Server doit être confirmée par les tableaux de compatibilité spécifiques à chaque version.
- Notez le nom du propriétaire de l'installation, la plage horaire de service, le point de retour et les contacts L1/L2/L3.
02
2. Topologie de service
SIFYBOX ne se compose pas d'un conteneur universel. Compose active uniquement les services nécessaires à une solution spécifique.
- OOD gère les dossiers, les formulaires, les statuts et les rôles.
- DOG crée des documents à partir de modèles et de données.
- FS applique les règles financières et, conformément au contrat d'intégration, vérifie la source ou conserve un instantané décisif ; la comptabilité reste dans le système économique.
- ZST cède le rôle sélectionné pour une période limitée.
- EPK gère les tâches d'approbation et de signature ; WSCS effectue techniquement la signature conformément à la configuration.
- CUL stocke les documents, les métadonnées et les versions ; CULWS fournit des services d'intégration.
- Keycloak/IdP, eSSL, système économique, SMTP, Vault et la surveillance peuvent être des services clients externes.
03
3. Fichier de configuration
Modèle de conception cible, et non un manuel de déploiement validé. Les valeurs, la prise en charge de _FILE, les contrôles d'intégrité, les migrations et les noms de variables doivent être confirmés par le manifeste et le dépôt de la version concernée.
# /etc/sifybox/env/release.env — úplné image reference z manifestu
OOD_IMAGE=registry.ders.cz/<PROJECT>/<OOD_IMAGE>@sha256:<DIGEST>
POSTGRES_IMAGE=<SUPPORTED_POSTGRES_IMAGE>@sha256:<DIGEST>
# /etc/sifybox/env/site.env — nesekretní parametry instalace
COMPOSE_PROFILES=dog-local,fs-local,zst-local,epk-local,wscs-local,cul-local,culws-local
PUBLIC_BASE_URL=https://<FQDN>
DB_NAME=<DATABASE_NAME>
DB_USER=<DATABASE_USER>
OIDC_ISSUER=https://<KEYCLOAK_OR_IDP>/realms/<REALM>
OIDC_CLIENT_ID=<CLIENT_ID>
TZ=Europe/Prague04
4. Compose comme ensemble de services
Le modèle de conception cible explique le principe des références d'images complètes, des réseaux internes et des secrets. Les noms, les contrôles d'intégrité, les volumes et les commandes sont extraits du dépôt de la version spécifique.
# Cílový návrhový vzor — názvy parametrů, healthchecky a příkazy
# musí potvrdit manifest a runbook konkrétního release.
name: sifybox
services:
ood:
image: ${OOD_IMAGE:?OOD_IMAGE is required}
env_file:
- /etc/sifybox/env/site.env
networks: [sifybox-backend]
secrets: [db_password, oidc_client_secret]
database:
image: ${POSTGRES_IMAGE:?POSTGRES_IMAGE is required}
networks: [sifybox-backend]
environment:
POSTGRES_DB: ${DB_NAME:?DB_NAME is required}
POSTGRES_USER: ${DB_USER:?DB_USER is required}
POSTGRES_PASSWORD_FILE: /run/secrets/db_password
secrets: [db_password]
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
sifybox-backend:
internal: true
volumes:
postgres_data:
secrets:
db_password:
file: /etc/sifybox/secrets/db_password
oidc_client_secret:
file: /etc/sifybox/secrets/oidc_client_secret05
5. Première start-up
# Cílový návrhový vzor. Před použitím ověřte release runbook.
COMPOSE=(docker compose --env-file /etc/sifybox/env/release.env --env-file /etc/sifybox/env/site.env)
# 1. Kontrola výsledné konfigurace bez spuštění
"${COMPOSE[@]}" config --quiet
# 2. Stažení přesně určených images
"${COMPOSE[@]}" pull
# 3. Kontrola použitých digestů
"${COMPOSE[@]}" images --format json
# 4. Spuštění databáze a ověření jejího health stavu
"${COMPOSE[@]}" up -d database
"${COMPOSE[@]}" ps
# 5. Migrace – použijte pouze příkaz z release runbooku
"${COMPOSE[@]}" run --rm ood <MIGRATION_COMMAND_FROM_RELEASE>
# 6. Spuštění aplikačních služeb
"${COMPOSE[@]}" up -d
# 7. Kontrola stavu a posledních logů
"${COMPOSE[@]}" ps
"${COMPOSE[@]}" logs --since=10m --no-colorRemarque : Ne jamais lancer une migration au hasard. Elle doit être idempotente ou comporter une procédure de retour précisément décrite dans le manuel d'exploitation.
06
6. Test de fumée d'acceptation
- Connectez-vous avec l'utilisateur de test via le fournisseur d'identité cible et vérifiez les attributions de rôles.
- Créez un cas de test, joignez un document et effectuez une transition de flux de travail.
- Générez un document si DOG fait partie de l’ensemble.
- Vérifiez la soumission et le statut exact renvoyé par le système économique ou eSSL ; ne confondez pas l’acceptation technique avec la publication.
- Vérifiez l'audit : identité, heure, action, état initial et état résultant, et ID de corrélation.
- Redémarrez un service d'application et vérifiez que le dossier ou le document n'est pas perdu.
- Versions et résumés des enregistrements, résultats des tests, exceptions et approbations d'acceptation.
Guide suivant
