name: Build and Deploy on: push: branches: - main jobs: deploy: runs-on: docker steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Docker context run: | mkdir -p ~/.ssh echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -H 194.163.164.113 >> ~/.ssh/known_hosts - name: Deploy to server env: APP_NAME: ${{ vars.APP_NAME }} DOMAIN: ${{ vars.DOMAIN }} run: | # Variablen setzen SERVER="root@194.163.164.113" DEPLOY_PATH="/opt/apps/${APP_NAME}" # Verzeichnis erstellen ssh $SERVER "mkdir -p ${DEPLOY_PATH}" # Gesamtes Projekt kopieren (außer .git) rsync -avz --exclude '.git' --exclude '.forgejo' ./ $SERVER:${DEPLOY_PATH}/ # Anwendung deployen ssh $SERVER "cd ${DEPLOY_PATH} && docker compose up -d --build --force-recreate" echo "Deployed to https://${DOMAIN}"