Wszystkie podręczniki
W trakcie budowy · wersja robocza wymaga manifestu wydania

Podręcznik techniczny

Instalacja z obrazów Docker i Docker Compose

Od otrzymania pakietu premierowego, przez pierwsze uruchomienie, aż do podpisania protokołu odbioru.

Publiczność
Implementator, administrator Linux/Docker, administrator baz danych, administrator tożsamości i sieci
Wynik
Usługi działają na podstawie precyzyjnie zdefiniowanych obrazów, komunikują się tylko w dozwolonych kierunkach, a instalacja przechodzi powtarzalny test dymowy.

01

1. Przejęcie i kontrola

  1. Pobierz manifest wydania, plik Compose, szablon konfiguracji, listę kontrolną sekretów i podręcznik.
  2. Sprawdź sumy kontrolne i uprawnienia rejestru. Nie używaj najnowszego tagu.
  3. Pobieraj obrazy za pomocą kontrolowanego pobierania ze środowiska klienta; instalacja nie powinna wymagać dostępu do usługi przychodzącej tylko po to, aby rozpowszechnić nową wersję.
  4. Porównaj obsługiwany silnik Dockera, wtyczkę Compose, system operacyjny, bazę danych i procesor ze środowiskiem docelowym. Użycie PostgreSQL, bazy danych Oracle lub Microsoft SQL Server musi zostać potwierdzone macierzami specyficznymi dla danej wersji.
  5. Zapisz właściciela instalacji, okno serwisowe, punkt powrotu i kontakty L1/L2/L3.

02

2. Topologia usług

SIFYBOX nie składa się z jednego uniwersalnego kontenera. Compose aktywuje tylko usługi potrzebne dla konkretnego rozwiązania.

  • OOD zarządza sprawami, formularzami, statusem i rolami.
  • DOG tworzy dokumenty na podstawie szablonów i danych.
  • FS stosuje reguły finansowe i zgodnie z umową integracyjną weryfikuje źródła lub utrzymuje definitywny obraz; rachunkowość pozostaje w systemie ekonomicznym.
  • ZST przekazuje wybraną rolę na ograniczony czas.
  • EPK zarządza zadaniami zatwierdzania i podpisywania; WSCS technicznie wykonuje podpisywanie zgodnie z konfiguracją.
  • CUL przechowuje dokumenty, metadane i wersje; CULWS zapewnia usługi integracyjne.
  • Keycloak/IdP, eSSL, system ekonomiczny, SMTP, Vault i monitoring mogą być zewnętrznymi usługami klienta.

03

3. Plik konfiguracyjny

Docelowy wzorzec projektowy, a nie sprawdzony podręcznik wydania. Wartości, obsługa plików _FILE, kontrole stanu, migracje i nazwy zmiennych muszą zostać potwierdzone przez manifest i repozytorium konkretnego wydania.

Przykład roboczyZastąp wartości <…> danymi z wydania
# /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/Prague

04

4. Compose jako zestaw usług

Wzorzec projektowy „docelowy” wyjaśnia zasadę pełnych odniesień do obrazów, sieci wewnętrznych i sekretów. Rzeczywiste nazwy, testy sprawności, woluminy i polecenia są pobierane z repozytorium konkretnej wersji.

Przykład roboczyZastąp wartości <…> danymi z wydania
# 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_secret

05

5. Pierwsze uruchomienie

Przykład roboczyZastąp wartości <…> danymi z wydania
# 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-color

Uwaga: Nigdy nie przeprowadzaj migracji na zasadzie domysłów. Musi być idempotentna lub mieć precyzyjnie opisaną procedurę powrotu w podręczniku wydania.

06

6. Test dymny akceptacyjny

  1. Zaloguj użytkownika testowego za pośrednictwem docelowego dostawcy tożsamości i sprawdź przypisania ról.
  2. Utwórz przypadek testowy, załącz dokument i wykonaj jedno przejście przepływu pracy.
  3. Wygeneruj dokument, jeśli DOG jest częścią zestawu.
  4. Sprawdź przesłanie i dokładny status zwrócony przez system ekonomiczny lub eSSL; nie myl akceptacji technicznej z wysłaniem.
  5. Zweryfikuj audyt: tożsamość, czas, działanie, stan oryginalny i wynikowy oraz identyfikator korelacji.
  6. Uruchom ponownie jedną usługę aplikacji i sprawdź, czy sprawa lub dokument nie został utracony.
  7. Rejestrowanie wersji i streszczeń, wyników testów, wyjątków i zatwierdzeń akceptacji.