version: '3' services: redis: container_name: redis image: docker.io/valkey/valkey:8-alpine command: valkey-server --save 30 1 --loglevel warning restart: unless-stopped volumes: - redis-data:/data cap_drop: - ALL cap_add: - SETGID - SETUID - DAC_OVERRIDE logging: driver: "json-file" options: max-size: "1m" max-file: "1" networks: - agentic-seek-net searxng: container_name: searxng image: docker.io/searxng/searxng:latest restart: unless-stopped ports: - "8080:8080" volumes: - ./searxng:/etc/searxng:rw environment: - SEARXNG_BASE_URL=http://localhost:8080/ - SEARXNG_SECRET_KEY=$(openssl rand -hex 32) - UWSGI_WORKERS=4 - UWSGI_THREADS=4 cap_add: - CHOWN - SETGID - SETUID logging: driver: "json-file" options: max-size: "1m" max-file: "1" depends_on: - redis networks: - agentic-seek-net frontend: container_name: frontend build: context: ./frontend/agentic-seek dockerfile: Dockerfile.frontend ports: - "3000:3000" volumes: - ./frontend/agentic-seek/src:/app/src environment: - NODE_ENV=development - CHOKIDAR_USEPOLLING=true # Ensure file watching works in Docker - BACKEND_URL=http://host.docker.internal:8000 networks: - agentic-seek-net volumes: redis-data: networks: agentic-seek-net: driver: bridge