38 lines
1 KiB
YAML
38 lines
1 KiB
YAML
name: Deploy AstraOS Panel
|
|
|
|
on:
|
|
push:
|
|
branches: ["main"]
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: docker
|
|
steps:
|
|
- name: Checkout repo
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install rsync + openssh
|
|
run: |
|
|
apt-get update -qq
|
|
apt-get install -y rsync openssh-client
|
|
|
|
- name: Configure SSH
|
|
run: |
|
|
mkdir -p ~/.ssh
|
|
echo "${{ secrets.DEPLOY_KEY_B64 }}" | base64 -d > ~/.ssh/id_ed25519
|
|
chmod 600 ~/.ssh/id_ed25519
|
|
ssh-keyscan -p 22 116.203.131.247 >> ~/.ssh/known_hosts
|
|
|
|
- name: Sync files to VPS
|
|
run: |
|
|
rsync -av --delete \
|
|
--exclude='.env' \
|
|
--exclude='venv/' \
|
|
--exclude='__pycache__/' \
|
|
--exclude='*.pyc' \
|
|
--exclude='.git/' \
|
|
./AstraOS/ root@116.203.131.247:/home/astraos/Astra-OS-Panel/
|
|
|
|
- name: Restart gunicorn service
|
|
run: |
|
|
ssh root@116.203.131.247 "systemctl restart astraos && systemctl is-active astraos" |