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:
|
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
|
container_name: searxng-core
|
||||||
image: docker.io/searxng/searxng:${SEARXNG_VERSION:-latest}
|
restart: unless-stopped
|
||||||
restart: always
|
|
||||||
ports:
|
ports:
|
||||||
- "8888:8080"
|
- "8888:8080"
|
||||||
env_file: ./.env
|
environment:
|
||||||
|
- SEARXNG_SECRET=${SEARXNG_SECRET}
|
||||||
|
- SEARXNG_BASE_URL=${SEARXNG_BASE_URL}
|
||||||
volumes:
|
volumes:
|
||||||
- ./core-config/:/etc/searxng/:Z
|
- ./config:/etc/searxng:rw
|
||||||
- core-data:/var/cache/searxng/
|
- searxng-data:/var/cache/searxng
|
||||||
|
depends_on:
|
||||||
valkey:
|
- 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/
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
core-data:
|
|
||||||
valkey-data:
|
valkey-data:
|
||||||
|
searxng-data:
|
||||||
|
|||||||
Reference in New Issue
Block a user