← Všechny postupy
Ve výstavbě · pracovní verze vyžaduje release manifest
Technický postup
Instalace z Docker images a Docker Compose
Od převzetí release balíčku přes první spuštění až po podepsaný akceptační záznam.
01
1. Převzetí a kontrola
- Převezměte release manifest, Compose soubor, konfigurační šablonu, secrets checklist a runbook.
- Ověřte kontrolní součty a oprávnění k registry. Nepoužívejte tag latest.
- Images stahujte řízeným pull ze zákaznického prostředí; instalace nemá vyžadovat příchozí servisní prostup jen kvůli distribuci nové verze.
- Porovnejte podporovaný Docker Engine, Compose plugin, OS, databázi a CPU s cílovým prostředím. Použití PostgreSQL, Oracle Database nebo Microsoft SQL Server musí potvrdit matice konkrétního release.
- Zapište vlastníka instalace, servisní okno, návratový bod a kontakty L1/L2/L3.
02
2. Topologie služeb
SIFYBOX se neskládá z jednoho univerzálního kontejneru. Compose zapíná pouze služby potřebné pro konkrétní řešení.
- OOD řídí případ, formulář, stav a role.
- DOG vytváří dokumenty ze šablon a dat.
- FS uplatňuje finanční pravidla a podle integračního kontraktu ověřuje zdroj nebo uchovává rozhodný snapshot; účetnictví zůstává v ekonomickém systému.
- ZST předává vybranou roli na omezené období.
- EPK řídí schválení a podpisové úkoly; WSCS technicky provádí podpis podle konfigurace.
- CUL uchovává dokumenty, metadata a verze; CULWS zpřístupňuje integrační služby.
- Keycloak/IdP, eSSL, ekonomický systém, SMTP, Vault a monitoring mohou být externími službami zákazníka.
03
3. Konfigurační soubor
Cílový návrhový vzor, nikoli ověřený release runbook. Hodnoty, podporu _FILE, healthchecky, migrace a názvy proměnných musí potvrdit manifest a repozitář konkrétního release.
Pracovní vzorHodnoty <…> doplňte z release
# /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 jako sestava služeb
Cílový návrhový vzor vysvětluje princip úplných image referencí, interní sítě a secrets. Skutečné názvy, healthchecky, volumes a příkazy se převezmou z repozitáře konkrétního release.
Pracovní vzorHodnoty <…> doplňte z release
# 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. První spuštění
Pracovní vzorHodnoty <…> doplňte z release
# 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-colorPozor: Migraci nikdy nespouštějte odhadem. Musí být idempotentní nebo mít přesně popsaný návratový postup v release runbooku.
06
6. Akceptační smoke test
- Přihlaste testovacího uživatele přes cílový IdP a ověřte přiřazení rolí.
- Založte testovací případ, přiložte dokument a proveďte jeden přechod workflow.
- Vygenerujte dokument, pokud je DOG součástí sestavy.
- Ověřte odeslání a přesný stav, který vrátí ekonomický systém nebo eSSL; technické přijetí nezaměňujte za zaúčtování.
- Ověřte audit: identita, čas, akce, původní a výsledný stav a korelační ID.
- Restartujte jednu aplikační službu a ověřte, že se případ ani dokument neztratí.
- Zaznamenejte verze a digesty, výsledek testů, výjimky a schválení převzetí.
Další postup
