48 lines
1.2 KiB
YAML
48 lines
1.2 KiB
YAML
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
|