Skip to content

Deployment lifecycle

Dokyr persists a deployment record before it changes a workload. Every meaningful action becomes an ordered event, so the interface can explain both successful and failed releases.

Image deployment stages

StageWhat happens
prepareValidate the project, service, image reference, and runtime configuration
pullAsk Docker to fetch the selected image and stream progress
replacePreserve the current container as the rollback candidate
createCreate the replacement with networks, volumes, variables, and labels
startStart the replacement container
verifyWait for its configured HTTP or command health check
promoteRoute traffic to the healthy replacement through Caddy
rollbackRestore the previous container when promotion cannot complete safely
completePersist the final status and duration

Follow a release

Open Workspace → Deployments and select a deployment. The detail view shows stage events and log messages while the release is active. Application logs are available separately from the project service view.

The API exposes the same records for automation. See the API reference for project, deployment, and event resources.

Troubleshooting

When a release fails, start with the first failing stage:

  • Pull: confirm the image exists and the selected registry credential can read it.
  • Create: check environment variables, volume paths, container command, and name conflicts.
  • Start: inspect application logs for configuration or dependency errors.
  • Verify: run the health endpoint inside the container and confirm the configured port.
  • Promote: validate the Caddy configuration and ensure the service joined selfhost-proxy.

Avoid masking a failed health check by increasing its timeout immediately. First confirm that the endpoint represents application readiness rather than simple process liveness.

Open source infrastructure, operated on your terms.