ci: add compose.yml and update deploy workflow with SSH to host

This commit is contained in:
achmad
2026-05-28 23:53:43 +07:00
parent 5ed8cb4c47
commit ae4472ef16
3 changed files with 51 additions and 6 deletions
+36 -5
View File
@@ -8,10 +8,41 @@ on:
jobs:
deploy:
runs-on: self-hosted
env:
SSHPASS: ${{ secrets.HOST_SSH_PASS }}
steps:
- uses: actions/checkout@v3
- name: Build and redeploy
- name: Install SSH tools
run: |
docker compose build kotobane
docker compose up -d --no-deps kotobane
if command -v apt-get > /dev/null; then
export DEBIAN_FRONTEND=noninteractive
apt-get update -qq
apt-get install -y -qq openssh-client sshpass
elif command -v apk > /dev/null; then
apk add --no-cache openssh-client sshpass
else
echo "ERROR: No supported package manager found"
exit 1
fi
- name: Setup SSH
run: |
mkdir -p ~/.ssh
chmod 700 ~/.ssh
ssh-keyscan -H "${{ secrets.HOST_IP }}" >> ~/.ssh/known_hosts
cat > ~/.ssh/config << 'EOF'
Host vps
HostName ${{ secrets.HOST_IP }}
User ${{ secrets.HOST_USER }}
StrictHostKeyChecking yes
EOF
chmod 600 ~/.ssh/config
- name: Pull and redeploy
run: |
sshpass -e ssh vps <<'ENDSSH'
set -e
cd /path/to/kotobane
docker compose pull kotobane
docker compose up -d --no-deps kotobane
docker image prune -f
ENDSSH