Manual de procedimientos técnicos
Instalación desde imágenes Docker y Docker Compose
Desde la recepción del paquete de lanzamiento, pasando por el primer lanzamiento, hasta la firma del registro de aceptación.
01
1. Adquisición e inspección
- Descargue el manifiesto de lanzamiento, el archivo Compose, la plantilla de configuración, la lista de verificación de secretos y el manual de procedimientos.
- Verifique las sumas de comprobación y los permisos del registro. No utilice la etiqueta más reciente.
- Descargue las imágenes mediante extracción controlada desde el entorno del cliente; la instalación no debería requerir acceso al servicio entrante solo para distribuir una nueva versión.
- Compare el motor Docker, el complemento Compose, el sistema operativo, la base de datos y la CPU compatibles con el entorno de destino. El uso de PostgreSQL, Oracle Database o Microsoft SQL Server debe confirmarse mediante las matrices específicas de la versión.
- Anote el nombre del responsable de la instalación, el horario de servicio, el punto de devolución y los contactos de nivel 1/2/3.
02
2. Topología de servicio
SIFYBOX no consta de un contenedor universal. Compose solo habilita los servicios necesarios para una solución específica.
- OOD gestiona casos, formularios, estados y roles.
- DOG crea documentos a partir de plantillas y datos.
- FS aplica las normas financieras y, según el contrato de integración, verifica la fuente o mantiene una instantánea decisiva; la contabilidad permanece dentro del sistema económico.
- ZST cede el rol seleccionado por un período limitado.
- EPK gestiona las tareas de aprobación y firma; WSCS realiza técnicamente la firma según la configuración.
- CUL almacena documentos, metadatos y versiones; CULWS proporciona servicios de integración.
- Keycloak/IdP, eSSL, sistema económico, SMTP, Vault y monitorización pueden ser servicios externos para el cliente.
03
3. Archivo de configuración
Patrón de diseño objetivo, no un manual de lanzamiento validado. Los valores, la compatibilidad con _FILE, las comprobaciones de estado, las migraciones y los nombres de las variables deben ser confirmados por el manifiesto y el repositorio de la versión específica.
# /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 como conjunto de servicios
El patrón de diseño objetivo explica el principio de referencias de imagen completas, redes internas y secretos. Los nombres, comprobaciones de estado, volúmenes y comandos reales se toman del repositorio de la versión específica.
# 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. Primera puesta en marcha
# 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-colorNota: Nunca realices una migración basándote en conjeturas. Debe ser idempotente o contar con un procedimiento de retorno descrito con precisión en el manual de implementación.
06
6. Prueba de humo de aceptación
- Inicie sesión con el usuario de prueba a través del proveedor de identidad (IdP) de destino y verifique la asignación de roles.
- Cree un caso de prueba, adjunte un documento y realice una transición de flujo de trabajo.
- Genere un documento si DOG forma parte del conjunto.
- Verifique el envío y el estado exacto devuelto por el sistema económico o eSSL; no confunda la aceptación técnica con la publicación.
- Verifique la auditoría: identidad, hora, acción, estado original y resultante, e ID de correlación.
- Reinicie un servicio de la aplicación y verifique que el caso o documento no se haya perdido.
- Versiones y resúmenes de registros, resultados de pruebas, excepciones y aprobaciones de aceptación.
Siguiente guía
