58 lines
1.7 KiB
YAML
58 lines
1.7 KiB
YAML
name: Build and Deploy SearXNG
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths:
|
|
- "compose.yaml"
|
|
- "config/**" # Reagiert jetzt sauber auf deinen Ordnernamen
|
|
- ".gitea/workflows/build-and-deployment.yaml"
|
|
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 }}/core-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
|
|
# Baut genau die .env, die dein Compose-File via `env_file: ./.env` erwartet
|
|
|
|
- name: Copy deployment files (Compose & Config)
|
|
run: |
|
|
cp compose.yaml ${{ env.TARGET_DIR }}/
|
|
cp -r core-config/* ${{ env.TARGET_DIR }}/config/
|
|
|
|
- name: Clean stop old containers
|
|
run: docker compose down || true
|
|
working-directory: ${{ env.TARGET_DIR }}
|
|
|
|
- name: Pull latest images
|
|
run: docker compose pull
|
|
working-directory: ${{ env.TARGET_DIR }}
|
|
|
|
- name: Start SearXNG Stack
|
|
run: docker compose up -d --force-recreate
|
|
working-directory: ${{ env.TARGET_DIR }}
|
|
|
|
- name: Verify Stack Health
|
|
run: |
|
|
sleep 5
|
|
docker ps
|
|
echo "=== Valkey Logs ==="
|
|
docker logs searxng-valkey --tail 10
|
|
echo "=== SearXNG Logs ==="
|
|
docker logs searxng-core --tail 10
|