This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
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 }}/core-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
|
||||
@@ -0,0 +1 @@
|
||||
.env
|
||||
+25
-17
@@ -1,25 +1,33 @@
|
||||
name: searxng
|
||||
|
||||
services:
|
||||
core:
|
||||
valkey:
|
||||
image: docker.io/valkey/valkey:8-alpine
|
||||
container_name: searxng-valkey
|
||||
command: valkey-server --save 30 1 --loglevel warning
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- valkey-data:/data
|
||||
cap_drop:
|
||||
- ALL
|
||||
cap_add:
|
||||
- SETGID
|
||||
- SETUID
|
||||
- DAC_OVERRIDE
|
||||
|
||||
searxng:
|
||||
image: docker.io/searxng/searxng:latest
|
||||
container_name: searxng-core
|
||||
image: docker.io/searxng/searxng:${SEARXNG_VERSION:-latest}
|
||||
restart: always
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8888:8080"
|
||||
env_file: ./.env
|
||||
environment:
|
||||
- SEARXNG_SECRET=${SEARXNG_SECRET}
|
||||
- SEARXNG_BASE_URL=${SEARXNG_BASE_URL}
|
||||
volumes:
|
||||
- ./core-config/:/etc/searxng/:Z
|
||||
- core-data:/var/cache/searxng/
|
||||
|
||||
valkey:
|
||||
container_name: searxng-valkey
|
||||
image: docker.io/valkey/valkey:9-alpine
|
||||
command: valkey-server --save 30 1 --loglevel warning
|
||||
restart: always
|
||||
volumes:
|
||||
- valkey-data:/data/
|
||||
- ./config:/etc/searxng:rw
|
||||
- searxng-data:/var/cache/searxng
|
||||
depends_on:
|
||||
- valkey
|
||||
|
||||
volumes:
|
||||
core-data:
|
||||
valkey-data:
|
||||
searxng-data:
|
||||
|
||||
Reference in New Issue
Block a user