Skip to content

Deployment Precheck

Before deploying a stack, you can run a Deployment Precheck to validate all prerequisites and detect problems before containers are removed or recreated. The precheck is not automatic — it is triggered manually via the Run Precheck button.

CheckDescriptionSeverity
Variable ValidationAre all required variables set and valid?Error
Existing DeploymentIs there already a deployment with this stack name?Warning / Error
Image AvailabilityAre all Docker images available locally or remotely?Error
Port ConflictsAre host ports already in use by other containers?Error
Network AvailabilityDo external networks required by the stack exist?Error
Volume StatusDo volumes already exist for this stack?Warning

Open the Stack Catalog and select a product. Click View Details to see the available stacks.

Stack Catalog with available products


On the deploy page, configure the Stack Name and Environment Variables. In the right sidebar, you’ll find the Run Precheck button.

Deploy page with stack configuration


Click the Run Precheck button in the sidebar. You’ll be navigated to a dedicated precheck page where the infrastructure checks start automatically.

Sidebar with Run Precheck button


The Precheck Results Page shows the outcome of all checks:

  • Green – Check passed
  • Yellow – Warning (deployment possible, but review the note)
  • Red – Error (should be fixed before deployment)

Precheck results page with check outcomes


Use the Re-Check button to re-run all checks — for example, after pulling a missing Docker image. Click Back to Configure to return to the deploy page.

Precheck page with Re-Check button


Back on the deploy page, you can start the deployment at any time. The Deploy button is always enabled, regardless of the precheck result.

Deploy button enabled without precheck requirement


For a Product Deployment (multiple stacks at once), the precheck runs checks for all stacks in parallel. Results are grouped by stack:

  • Stacks with errors or warnings are automatically expanded
  • Stacks without issues are collapsed
  • The summary shows the overall status across all stacks

Checks whether all variables marked as Required have a value and whether values match defined patterns. Variables like ${FRONTEND_PORT} are resolved before validation.

Detects whether a deployment with the same stack name already exists:

Existing Deployment StatusResult
RunningWarning – upgrade scenario
Installing / UpgradingError – deployment blocked
FailedWarning – retry scenario
RemovedOK – fresh install

Checks for each service whether the Docker image is available locally or can be pulled remotely. Image names with variables (e.g. ${REGISTRY}/app:${TAG}) are resolved before checking.

Detects whether host ports are already in use by running containers. Port definitions with variables (e.g. ${WEB_PORT}:80) are correctly resolved. Containers belonging to the same stack (upgrade scenario) are excluded.

Checks whether external networks required by the stack exist. Stack-managed networks are automatically created during deployment.

Reports whether named volumes already exist:

  • New volume → OK (will be created during deployment)
  • Existing volume during upgrade → OK (data preserved)
  • Existing volume during fresh install → Warning (existing data will be reused)

The precheck can also be executed via the Hooks API without starting an actual deployment:

Terminal window
curl -X POST http://rsgo:8080/api/hooks/deploy \
-H "X-API-Key: rsgo_your_key" \
-H "Content-Type: application/json" \
-d '{
"stackName": "my-stack",
"stackId": "source:stack:version",
"dryRun": true
}'

With dryRun: true, only the precheck is executed and the result is returned. If there are errors, the API responds with 422 Unprocessable Entity.


  • Timeout: The entire precheck has a 30-second timeout
  • Individual rule failures: If a single check fails, it is reported as a warning – other checks continue running
  • Docker connection errors: Reported immediately as an error
  • Precheck failures: If the precheck itself fails (e.g. network issues), deployment can still proceed