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"