name: Build and Deploy SearXNG on: push: branches: - main paths: - "compose.yaml" - "config/**" - ".gitea/workflows/**" workflow_dispatch: jobs: deploy: runs-on: proxmox env: TARGET_DIR: "/home/gitea-runner/docker/searxng" steps: - name: Checkout code uses: actions/checkout@v4 - name: Ensure directory structure exists run: mkdir -p ${{ env.TARGET_DIR }}/config - name: Inject Git Secrets into .env file run: | echo "SEARXNG_SECRET=${{ secrets.SEARXNG_SECRET }}" > ${{ env.TARGET_DIR }}/.env echo "SEARXNG_BASE_URL=${{ secrets.SEARXNG_BASE_URL }}" >> ${{ env.TARGET_DIR }}/.env - name: Copy deployment files run: | cp compose.yaml ${{ env.TARGET_DIR }}/ cp -r config/* ${{ env.TARGET_DIR }}/config/ - name: Deploy Stack run: | docker compose down || true docker compose pull docker compose up -d --force-recreate working-directory: ${{ env.TARGET_DIR }} - name: Verify Stack Health run: | sleep 5 docker ps echo "=== SearXNG Logs ===" docker logs searxng-core --tail 10