diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml new file mode 100644 index 0000000..592ff19 --- /dev/null +++ b/.forgejo/workflows/deploy.yml @@ -0,0 +1,41 @@ +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}" + + # Dateien kopieren + scp docker-compose.yml $SERVER:${DEPLOY_PATH}/ + scp Dockerfile $SERVER:${DEPLOY_PATH}/ 2>/dev/null || true + + # Anwendung deployen + ssh $SERVER "cd ${DEPLOY_PATH} && docker compose pull && docker compose up -d --build" + + echo "Deployed to https://${DOMAIN}"