Skip to content
beskid Beskid

Beskid

Jump to a Beskid service

Beskid

Jump to a Beskid service

Verify Service Containers

The production template contains five Beskid application images, Authentik, two PostgreSQL services, the private registry, and Watchtower. Public origins use standard HTTPS through the shared host edge.

Use a supported container engine and the pinned Compose contract. Obtain the exact Woodpecker source SHA and matching immutable image tags without changing them.

  1. Render the configuration with docker compose --env-file .env.example config from beskid_sites/deploy.
  2. Confirm every application image uses cr.beskid-lang.org/beskid/*:production and has a matching immutable sha-* audit tag.
  3. Confirm that each service has all persistent volumes attached before it starts.
ServiceContainer portPersistent state
website80No service volume.
learn80No service volume in the pinned contract.
tracker3000tracker-data.
nexus8452nexus-data.
pckg8082pckg-packages; PostgreSQL uses its dedicated database volume.

Compose validation succeeds. Every required container is healthy, every Beskid application uses the controlled private-registry tag, and persistent volume boundaries match the production contract.

If Compose validation fails, inspect the container logs, fix the lane input, and render it again. If a volume name differs from the recorded lane, stop and do not delete or recreate a persistent volume to make validation pass.

Verify production delivery or hand off the verified container contract to the production operator.