From 1ed06d54c453f3f3d9e69c6ac9005fe23d3b6788 Mon Sep 17 00:00:00 2001 From: "dolgolyov.alexei" Date: Thu, 26 Mar 2026 21:45:59 +0300 Subject: [PATCH] chore: rename PORTAINER_WEBHOOK_URL to DOCKER_REDEPLOY_WEBHOOK_URL More generic name, not tied to Portainer specifically. Also update dolgolyov-git-release-publisher skill. --- gitea-python-ci-cd.md | 10 +++++----- skills/dolgolyov-git-release-publisher.skill | Bin 7350 -> 8380 bytes 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gitea-python-ci-cd.md b/gitea-python-ci-cd.md index 6e2f472..6756b21 100644 --- a/gitea-python-ci-cd.md +++ b/gitea-python-ci-cd.md @@ -561,12 +561,12 @@ CMD ["uvicorn", "your_package.main:app", "--host", "0.0.0.0", "--port", "8080"] if: steps.docker-login.outcome == 'success' continue-on-error: true # Optional — webhook may not be configured run: | - if [ -n "${{ secrets.PORTAINER_WEBHOOK_URL }}" ]; then + if [ -n "${{ secrets.DOCKER_REDEPLOY_WEBHOOK_URL }}" ]; then echo "Triggering Portainer redeploy..." - curl -sf -X POST "${{ secrets.PORTAINER_WEBHOOK_URL }}" \ + curl -sf -X POST "${{ secrets.DOCKER_REDEPLOY_WEBHOOK_URL }}" \ --max-time 30 || echo "::warning::Portainer webhook failed" else - echo "PORTAINER_WEBHOOK_URL not set — skipping auto-deploy" + echo "DOCKER_REDEPLOY_WEBHOOK_URL not set — skipping auto-deploy" fi ``` @@ -580,7 +580,7 @@ Each stack has its own unique webhook URL generated in the Portainer UI. **Setup:** 1. In Portainer, open your stack → **Webhooks** → enable and copy the URL -2. In Gitea, go to repo **Settings → Secrets** → add `PORTAINER_WEBHOOK_URL` +2. In Gitea, go to repo **Settings → Secrets** → add `DOCKER_REDEPLOY_WEBHOOK_URL` 3. The CI step above calls the webhook after `docker push` — Portainer pulls the new image and recreates the container @@ -589,7 +589,7 @@ Each stack has its own unique webhook URL generated in the Portainer UI. - The webhook URL itself acts as authentication — no extra token needed - The step uses `continue-on-error: true` so missing webhooks don't fail the build - Each service/stack gets its own webhook — one secret per repo -- If `PORTAINER_WEBHOOK_URL` is not set, the step is silently skipped +- If `DOCKER_REDEPLOY_WEBHOOK_URL` is not set, the step is silently skipped ### Docker Network on TrueNAS diff --git a/skills/dolgolyov-git-release-publisher.skill b/skills/dolgolyov-git-release-publisher.skill index c13d90ee78c1799b658738d502905b2718d44e0f..1d45d258428393f93d1d0236051b09905175490b 100644 GIT binary patch delta 6243 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 Nj2t8e?jHaE001;g8=wFH delta 5210 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