Summary
The main app's docker-publish.yml pushes images to GHCR but never triggers a deploy. The data engine's docker-publish.yml has a Coolify restart step; the main app should too.
Background
From the CI/CD audit: the data engine posts to Coolify's API after pushing its Docker image. The main app publishes to GHCR but the image sits there until someone manually deploys. This means:
- Deployments are out of sync with CI
- No automatic propagation of fixes
- Relies on manual Coolify dashboard interaction
Proposed Change
Add a step to the main app's docker-publish.yml that curls the Coolify deploy webhook after a successful push:
- name: Trigger Coolify deploy
run: |
curl -X POST https://coolify.yourdomain.com/api/v1/deploy \
-H "Authorization: Bearer ${{ secrets.COOLIFY_API_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{"target": "${{ vars.COOLIFY_DEPLOYMENT_UUID }}"}'
Acceptance Criteria
Summary
The main app's docker-publish.yml pushes images to GHCR but never triggers a deploy. The data engine's docker-publish.yml has a Coolify restart step; the main app should too.
Background
From the CI/CD audit: the data engine posts to Coolify's API after pushing its Docker image. The main app publishes to GHCR but the image sits there until someone manually deploys. This means:
Proposed Change
Add a step to the main app's docker-publish.yml that curls the Coolify deploy webhook after a successful push:
Acceptance Criteria