agenticSeek/docker-compose.yml
2025-04-14 21:51:46 +02:00

94 lines
2.1 KiB
YAML

version: '3.8'
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/
- 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
backend:
container_name: backend
build:
context: .
dockerfile: Dockerfile.backend
ports:
- "8000:8000"
volumes:
- ./.screenshots:/app/.screenshots:ro # Mount screenshots folder
- ./app.py:/app/app.py:ro # Mount backend code
- ./sources:/app/sources:ro # Assuming sources/ contains your modules
- ./prompts:/app/prompts:ro # Assuming prompts/ for agent prompts
- ./config.ini:/app/config.ini:ro # Config file
environment:
- PYTHONUNBUFFERED=1
depends_on:
- searxng
- 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 # Live reload for development
environment:
- NODE_ENV=development
- CHOKIDAR_USEPOLLING=true # Ensure file watching works in Docker
depends_on:
- backend
networks:
- agentic-seek-net
volumes:
redis-data:
networks:
agentic-seek-net:
driver: bridge