refactor: Update Coolify deployment process to use API tokens and resource UUIDs; revise deployment documentation accordingly
This commit is contained in:
+38
-22
@@ -68,42 +68,58 @@ jobs:
|
||||
steps:
|
||||
- name: Trigger backend deploy
|
||||
env:
|
||||
HOOK_URL: ${{ secrets.COOLIFY_DEPLOY_HOOK_URL_BOT }}
|
||||
HOOK_TOKEN: ${{ secrets.COOLIFY_DEPLOY_TOKEN_BOT }}
|
||||
COOLIFY_BASE_URL: ${{ secrets.COOLIFY_BASE_URL }}
|
||||
COOLIFY_API_TOKEN: ${{ secrets.COOLIFY_API_TOKEN }}
|
||||
COOLIFY_RESOURCE_UUID: ${{ secrets.COOLIFY_RESOURCE_UUID_BOT }}
|
||||
run: |
|
||||
if [ -z "$HOOK_URL" ]; then
|
||||
echo "Missing COOLIFY_DEPLOY_HOOK_URL_BOT"
|
||||
if [ -z "$COOLIFY_BASE_URL" ]; then
|
||||
echo "Missing COOLIFY_BASE_URL"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -n "$HOOK_TOKEN" ]; then
|
||||
curl --fail --show-error --silent \
|
||||
-X POST \
|
||||
-H "Authorization: Bearer $HOOK_TOKEN" \
|
||||
"$HOOK_URL"
|
||||
else
|
||||
curl --fail --show-error --silent -X POST "$HOOK_URL"
|
||||
if [ -z "$COOLIFY_API_TOKEN" ]; then
|
||||
echo "Missing COOLIFY_API_TOKEN"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$COOLIFY_RESOURCE_UUID" ]; then
|
||||
echo "Missing COOLIFY_RESOURCE_UUID_BOT"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BASE_URL="${COOLIFY_BASE_URL%/}"
|
||||
curl --fail --show-error --silent -G \
|
||||
"$BASE_URL/api/v1/deploy" \
|
||||
-H "Authorization: Bearer $COOLIFY_API_TOKEN" \
|
||||
--data-urlencode "uuid=$COOLIFY_RESOURCE_UUID"
|
||||
|
||||
echo "Backend deploy triggered"
|
||||
|
||||
- name: Trigger dashboard deploy
|
||||
env:
|
||||
HOOK_URL: ${{ secrets.COOLIFY_DEPLOY_HOOK_URL_DASHBOARD }}
|
||||
HOOK_TOKEN: ${{ secrets.COOLIFY_DEPLOY_TOKEN_DASHBOARD }}
|
||||
COOLIFY_BASE_URL: ${{ secrets.COOLIFY_BASE_URL }}
|
||||
COOLIFY_API_TOKEN: ${{ secrets.COOLIFY_API_TOKEN }}
|
||||
COOLIFY_RESOURCE_UUID: ${{ secrets.COOLIFY_RESOURCE_UUID_DASHBOARD }}
|
||||
run: |
|
||||
if [ -z "$HOOK_URL" ]; then
|
||||
echo "Missing COOLIFY_DEPLOY_HOOK_URL_DASHBOARD"
|
||||
if [ -z "$COOLIFY_BASE_URL" ]; then
|
||||
echo "Missing COOLIFY_BASE_URL"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -n "$HOOK_TOKEN" ]; then
|
||||
curl --fail --show-error --silent \
|
||||
-X POST \
|
||||
-H "Authorization: Bearer $HOOK_TOKEN" \
|
||||
"$HOOK_URL"
|
||||
else
|
||||
curl --fail --show-error --silent -X POST "$HOOK_URL"
|
||||
if [ -z "$COOLIFY_API_TOKEN" ]; then
|
||||
echo "Missing COOLIFY_API_TOKEN"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$COOLIFY_RESOURCE_UUID" ]; then
|
||||
echo "Missing COOLIFY_RESOURCE_UUID_DASHBOARD"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BASE_URL="${COOLIFY_BASE_URL%/}"
|
||||
curl --fail --show-error --silent -G \
|
||||
"$BASE_URL/api/v1/deploy" \
|
||||
-H "Authorization: Bearer $COOLIFY_API_TOKEN" \
|
||||
--data-urlencode "uuid=$COOLIFY_RESOURCE_UUID"
|
||||
|
||||
echo "Dashboard deploy triggered"
|
||||
|
||||
+14
-14
@@ -127,30 +127,30 @@ Discord OAuth authorize URL shape:
|
||||
https://discord.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=https%3A%2F%2Fadmin.openmicodyssey.com%2Foauth%2Fdiscord%2Fcallback&scope=identify%20guilds&prompt=consent
|
||||
```
|
||||
|
||||
## 3. Get Coolify Deployment Hooks and Tokens
|
||||
## 3. Get Coolify API Token and Resource UUIDs
|
||||
|
||||
For each resource (`omo-bot-backend` and `omo-bot-dashboard`):
|
||||
1. In Coolify, open `Keys & Tokens` -> `API Tokens` and create a token.
|
||||
2. Copy your Coolify base URL (example: `https://coolify.yourdomain.com`).
|
||||
3. Find resource UUID for:
|
||||
|
||||
1. Open resource in Coolify.
|
||||
2. Go to Deployments/Webhooks (name may vary by Coolify version).
|
||||
3. Copy the Deploy Webhook URL.
|
||||
4. If webhook auth token is enabled, copy the token.
|
||||
- `omo-bot-backend`
|
||||
- `omo-bot-dashboard`
|
||||
|
||||
Store both resources separately:
|
||||
Deploy API endpoint used by CI:
|
||||
|
||||
- Backend deploy hook URL/token
|
||||
- Dashboard deploy hook URL/token
|
||||
- `GET /api/v1/deploy?uuid=<resource_uuid>`
|
||||
- Authorization: `Bearer <COOLIFY_API_TOKEN>`
|
||||
|
||||
## 4. Configure Gitea Action Secrets/Variables
|
||||
|
||||
In Gitea repository settings, add Actions secrets:
|
||||
|
||||
- `COOLIFY_DEPLOY_HOOK_URL_BOT`
|
||||
- `COOLIFY_DEPLOY_TOKEN_BOT` (optional)
|
||||
- `COOLIFY_DEPLOY_HOOK_URL_DASHBOARD`
|
||||
- `COOLIFY_DEPLOY_TOKEN_DASHBOARD` (optional)
|
||||
- `COOLIFY_BASE_URL`
|
||||
- `COOLIFY_API_TOKEN`
|
||||
- `COOLIFY_RESOURCE_UUID_BOT`
|
||||
- `COOLIFY_RESOURCE_UUID_DASHBOARD`
|
||||
|
||||
Current workflow in `.gitea/workflows/ci-cd.yml` triggers backend and dashboard deploys separately using these four secrets.
|
||||
Current workflow in `.gitea/workflows/ci-cd.yml` triggers backend and dashboard deploys separately via the Coolify Deploy API.
|
||||
|
||||
## 5. Domain and DNS Checklist
|
||||
|
||||
|
||||
Reference in New Issue
Block a user