Remove obsolete deployment files - Coolify handles deployment
- Removed deploy.sh (manual deployment script not needed) - Removed deploy_key.pub (SSH keys managed by Coolify) - Added deploy files to .gitignore for security - Deployment now handled via Coolify webhooks
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -9,3 +9,7 @@ yarn-error.log*
|
|||||||
.vscode/
|
.vscode/
|
||||||
.idea/
|
.idea/
|
||||||
deploy_key
|
deploy_key
|
||||||
|
|
||||||
|
# Deployment keys and scripts
|
||||||
|
deploy_key*
|
||||||
|
deploy.sh
|
||||||
|
|||||||
127
deploy.sh
127
deploy.sh
@@ -1,127 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# API Configuration
|
|
||||||
COOLIFY_TOKEN="1790|8Klldu1hXjtODfZhl0dFn5D6Jhd7X285CuPzcQBdffaed898"
|
|
||||||
GITEA_TOKEN="968f51fc9f957c567f592c691bafd453c839b7e9"
|
|
||||||
CLOUDFLARE_TOKEN="h5mN_lhWW5Rl4aVP0eyVU_Z7u3PndZVtW4q7ExLK"
|
|
||||||
COOLIFY_API="https://app.coolify.io/api/v1"
|
|
||||||
GITEA_API="https://git.startanaicompany.com/api/v1"
|
|
||||||
CLOUDFLARE_API="https://api.cloudflare.com/client/v4"
|
|
||||||
|
|
||||||
# Project details
|
|
||||||
PROJECT_UUID="y8804s80goowsccwk8400kwo"
|
|
||||||
REPO_NAME="ai-recruit-site-template"
|
|
||||||
GITEA_USER="mikael.westoo"
|
|
||||||
ZONE_ID="e6ade38a28032c3542140a9cbf592838"
|
|
||||||
|
|
||||||
echo "=== Step 1: Adding Private Key to Coolify ==="
|
|
||||||
PRIVATE_KEY_JSON=$(jq -Rs . < ./deploy_key)
|
|
||||||
PRIVATE_KEY_RESPONSE=$(curl -s -X POST "${COOLIFY_API}/private-keys" \
|
|
||||||
-H "Authorization: Bearer ${COOLIFY_TOKEN}" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-d "{\"name\": \"recruitai-deploy-key\", \"description\": \"Deploy key for RecruitAI\", \"private_key\": ${PRIVATE_KEY_JSON}}")
|
|
||||||
|
|
||||||
echo "$PRIVATE_KEY_RESPONSE"
|
|
||||||
PRIVATE_KEY_UUID=$(echo "$PRIVATE_KEY_RESPONSE" | jq -r '.uuid')
|
|
||||||
echo "Private Key UUID: ${PRIVATE_KEY_UUID}"
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "=== Step 2: Adding Deploy Key to Gitea ==="
|
|
||||||
PUBLIC_KEY=$(cat ./deploy_key.pub)
|
|
||||||
curl -s -X POST "${GITEA_API}/repos/${GITEA_USER}/${REPO_NAME}/keys" \
|
|
||||||
-H "Authorization: token ${GITEA_TOKEN}" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-d "{\"title\": \"Coolify Deploy Key\", \"key\": \"${PUBLIC_KEY}\", \"read_only\": true}" | jq '.'
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "=== Step 3: Pushing to Gitea ==="
|
|
||||||
git remote remove origin 2>/dev/null || true
|
|
||||||
git remote add origin git@git.startanaicompany.com:${GITEA_USER}/${REPO_NAME}.git
|
|
||||||
git push -u origin master
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "=== Step 4: Creating Coolify Application ==="
|
|
||||||
APP_RESPONSE=$(curl -s -X POST "${COOLIFY_API}/applications/public" \
|
|
||||||
-H "Authorization: Bearer ${COOLIFY_TOKEN}" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-d "{
|
|
||||||
\"project_uuid\": \"${PROJECT_UUID}\",
|
|
||||||
\"environment_name\": \"production\",
|
|
||||||
\"server_uuid\": 0,
|
|
||||||
\"type\": \"public\",
|
|
||||||
\"source\": {
|
|
||||||
\"type\": \"git\",
|
|
||||||
\"url\": \"git@git.startanaicompany.com:${GITEA_USER}/${REPO_NAME}\",
|
|
||||||
\"branch\": \"master\",
|
|
||||||
\"private_key_uuid\": \"${PRIVATE_KEY_UUID}\"
|
|
||||||
},
|
|
||||||
\"build_pack\": \"dockerfile\",
|
|
||||||
\"ports_exposes\": \"3000\",
|
|
||||||
\"name\": \"recruitai\"
|
|
||||||
}")
|
|
||||||
|
|
||||||
echo "$APP_RESPONSE" | jq '.'
|
|
||||||
APP_UUID=$(echo "$APP_RESPONSE" | jq -r '.uuid')
|
|
||||||
DEFAULT_FQDN=$(echo "$APP_RESPONSE" | jq -r '.fqdn' | sed 's|http://||' | sed 's|https://||')
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "App UUID: ${APP_UUID}"
|
|
||||||
echo "Default FQDN: ${DEFAULT_FQDN}"
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "=== Step 5: Adding Webhook to Gitea ==="
|
|
||||||
curl -s -X POST "${GITEA_API}/repos/${GITEA_USER}/${REPO_NAME}/hooks" \
|
|
||||||
-H "Authorization: token ${GITEA_TOKEN}" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-d "{
|
|
||||||
\"type\": \"gitea\",
|
|
||||||
\"config\": {
|
|
||||||
\"url\": \"https://app.coolify.io/api/v1/deploy?uuid=${APP_UUID}\",
|
|
||||||
\"content_type\": \"json\",
|
|
||||||
\"http_method\": \"GET\"
|
|
||||||
},
|
|
||||||
\"events\": [\"push\"],
|
|
||||||
\"active\": true
|
|
||||||
}" | jq '.'
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "=== Step 6: Creating DNS Record ==="
|
|
||||||
DNS_RESPONSE=$(curl -s -X POST "${CLOUDFLARE_API}/zones/${ZONE_ID}/dns_records" \
|
|
||||||
-H "Authorization: Bearer ${CLOUDFLARE_TOKEN}" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-d "{
|
|
||||||
\"type\": \"CNAME\",
|
|
||||||
\"name\": \"recruitai\",
|
|
||||||
\"content\": \"${DEFAULT_FQDN}\",
|
|
||||||
\"ttl\": 1,
|
|
||||||
\"proxied\": false
|
|
||||||
}")
|
|
||||||
|
|
||||||
echo "$DNS_RESPONSE" | jq '.'
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "=== Step 7: Updating Application Domain ==="
|
|
||||||
curl -s -X PATCH "${COOLIFY_API}/applications/${APP_UUID}" \
|
|
||||||
-H "Authorization: Bearer ${COOLIFY_TOKEN}" \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-d "{\"domains\": \"http://recruitai.startanaicompany.com\"}" | jq '.'
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "=== Step 8: Deploying Application ==="
|
|
||||||
curl -s -X GET "${COOLIFY_API}/deploy?uuid=${APP_UUID}&force=true" \
|
|
||||||
-H "Authorization: Bearer ${COOLIFY_TOKEN}" | jq '.'
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "=========================================="
|
|
||||||
echo "=== Deployment Complete! ==="
|
|
||||||
echo "=========================================="
|
|
||||||
echo ""
|
|
||||||
echo "Site URL: http://recruitai.startanaicompany.com"
|
|
||||||
echo "Admin Panel: http://recruitai.startanaicompany.com/admin/login"
|
|
||||||
echo ""
|
|
||||||
echo "App UUID: ${APP_UUID}"
|
|
||||||
echo "Project UUID: ${PROJECT_UUID}"
|
|
||||||
echo ""
|
|
||||||
echo "Please wait 2-3 minutes for the deployment to complete."
|
|
||||||
echo "You can check the deployment status in the Coolify dashboard."
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKeCe9jD8IRdeIuJlwnVc422p9ZhzWak/9s+h7q7VUF4 coolify-recruitai-deploy
|
|
||||||
Reference in New Issue
Block a user