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:
|
steps:
|
||||||
- name: Trigger backend deploy
|
- name: Trigger backend deploy
|
||||||
env:
|
env:
|
||||||
HOOK_URL: ${{ secrets.COOLIFY_DEPLOY_HOOK_URL_BOT }}
|
COOLIFY_BASE_URL: ${{ secrets.COOLIFY_BASE_URL }}
|
||||||
HOOK_TOKEN: ${{ secrets.COOLIFY_DEPLOY_TOKEN_BOT }}
|
COOLIFY_API_TOKEN: ${{ secrets.COOLIFY_API_TOKEN }}
|
||||||
|
COOLIFY_RESOURCE_UUID: ${{ secrets.COOLIFY_RESOURCE_UUID_BOT }}
|
||||||
run: |
|
run: |
|
||||||
if [ -z "$HOOK_URL" ]; then
|
if [ -z "$COOLIFY_BASE_URL" ]; then
|
||||||
echo "Missing COOLIFY_DEPLOY_HOOK_URL_BOT"
|
echo "Missing COOLIFY_BASE_URL"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$HOOK_TOKEN" ]; then
|
if [ -z "$COOLIFY_API_TOKEN" ]; then
|
||||||
curl --fail --show-error --silent \
|
echo "Missing COOLIFY_API_TOKEN"
|
||||||
-X POST \
|
exit 1
|
||||||
-H "Authorization: Bearer $HOOK_TOKEN" \
|
|
||||||
"$HOOK_URL"
|
|
||||||
else
|
|
||||||
curl --fail --show-error --silent -X POST "$HOOK_URL"
|
|
||||||
fi
|
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"
|
echo "Backend deploy triggered"
|
||||||
|
|
||||||
- name: Trigger dashboard deploy
|
- name: Trigger dashboard deploy
|
||||||
env:
|
env:
|
||||||
HOOK_URL: ${{ secrets.COOLIFY_DEPLOY_HOOK_URL_DASHBOARD }}
|
COOLIFY_BASE_URL: ${{ secrets.COOLIFY_BASE_URL }}
|
||||||
HOOK_TOKEN: ${{ secrets.COOLIFY_DEPLOY_TOKEN_DASHBOARD }}
|
COOLIFY_API_TOKEN: ${{ secrets.COOLIFY_API_TOKEN }}
|
||||||
|
COOLIFY_RESOURCE_UUID: ${{ secrets.COOLIFY_RESOURCE_UUID_DASHBOARD }}
|
||||||
run: |
|
run: |
|
||||||
if [ -z "$HOOK_URL" ]; then
|
if [ -z "$COOLIFY_BASE_URL" ]; then
|
||||||
echo "Missing COOLIFY_DEPLOY_HOOK_URL_DASHBOARD"
|
echo "Missing COOLIFY_BASE_URL"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "$HOOK_TOKEN" ]; then
|
if [ -z "$COOLIFY_API_TOKEN" ]; then
|
||||||
curl --fail --show-error --silent \
|
echo "Missing COOLIFY_API_TOKEN"
|
||||||
-X POST \
|
exit 1
|
||||||
-H "Authorization: Bearer $HOOK_TOKEN" \
|
|
||||||
"$HOOK_URL"
|
|
||||||
else
|
|
||||||
curl --fail --show-error --silent -X POST "$HOOK_URL"
|
|
||||||
fi
|
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"
|
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
|
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.
|
- `omo-bot-backend`
|
||||||
2. Go to Deployments/Webhooks (name may vary by Coolify version).
|
- `omo-bot-dashboard`
|
||||||
3. Copy the Deploy Webhook URL.
|
|
||||||
4. If webhook auth token is enabled, copy the token.
|
|
||||||
|
|
||||||
Store both resources separately:
|
Deploy API endpoint used by CI:
|
||||||
|
|
||||||
- Backend deploy hook URL/token
|
- `GET /api/v1/deploy?uuid=<resource_uuid>`
|
||||||
- Dashboard deploy hook URL/token
|
- Authorization: `Bearer <COOLIFY_API_TOKEN>`
|
||||||
|
|
||||||
## 4. Configure Gitea Action Secrets/Variables
|
## 4. Configure Gitea Action Secrets/Variables
|
||||||
|
|
||||||
In Gitea repository settings, add Actions secrets:
|
In Gitea repository settings, add Actions secrets:
|
||||||
|
|
||||||
- `COOLIFY_DEPLOY_HOOK_URL_BOT`
|
- `COOLIFY_BASE_URL`
|
||||||
- `COOLIFY_DEPLOY_TOKEN_BOT` (optional)
|
- `COOLIFY_API_TOKEN`
|
||||||
- `COOLIFY_DEPLOY_HOOK_URL_DASHBOARD`
|
- `COOLIFY_RESOURCE_UUID_BOT`
|
||||||
- `COOLIFY_DEPLOY_TOKEN_DASHBOARD` (optional)
|
- `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
|
## 5. Domain and DNS Checklist
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user