services:
  searxng:
    image: docker.io/searxng/searxng:latest
    container_name: pi-searxng
    restart: unless-stopped
    ports:
      - "127.0.0.1:${SEARXNG_PORT:-8080}:8080"
    volumes:
      - ./core-config:/etc/searxng:Z
      - searxng-cache:/var/cache/searxng:Z
    environment:
      SEARXNG_SETTINGS_PATH: /etc/searxng/settings.yml
      SEARXNG_BASE_URL: ${SEARXNG_BASE_URL:-http://localhost:8080/}
      FORCE_OWNERSHIP: "true"
    healthcheck:
      test: ["CMD-SHELL", "wget -qO- 'http://127.0.0.1:8080/search?q=searxng&format=json' >/dev/null || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 20s

volumes:
  searxng-cache:
