name: Deploy Gitea App on: push: workflow_dispatch: jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: superfly/flyctl-actions/setup-flyctl@master - name: Create Fly app and volume if not exists run: | flyctl apps create ${{ secrets.FLY_APP_NAME }} || echo "App exists" flyctl volumes create gitea_data --size 1 -a ${{ secrets.FLY_APP_NAME }} || echo "Volume exists" env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} - name: Set secrets run: | flyctl secrets set \ GITEA_ADMIN_USER=${{ secrets.GITEA_ADMIN_USER }} \ GITEA_ADMIN_EMAIL=${{ secrets.GITEA_ADMIN_EMAIL }} \ GITEA_ADMIN_PASSWD=${{ secrets.GITEA_ADMIN_PASSWD }} \ GITEA_INTERNAL_TOKEN=${{ secrets.GITEA_INTERNAL_TOKEN }} \ GITEA_SECRET_KEY=${{ secrets.GITEA_SECRET_KEY }} \ GITEA_JWT_SECRET=${{ secrets.GITEA_JWT_SECRET }} \ CUSTOM_REPO_URL=${{ secrets.CUSTOM_REPO_URL }} \ CADDY_REPO_URL=${{ secrets.CADDY_REPO_URL }} \ SMTP_HOST=${{ secrets.SMTP_HOST }} \ SMTP_USER=${{ secrets.SMTP_USER }} \ SMTP_PASSWD=${{ secrets.SMTP_PASSWD }} \ SMTP_FROM=${{ secrets.SMTP_FROM }} \ -a ${{ secrets.FLY_APP_NAME }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} - name: Deploy run: flyctl deploy --remote-only -a ${{ secrets.FLY_APP_NAME }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}