| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- services:
- mysql:
- build:
- context: ./docker/mysql
- ports:
- - "3307:3306"
- volumes:
- - mysql_data:/var/lib/mysql
- - ./my.cnf:/etc/mysql/conf.d/custom_ai_app.cnf
- - ./init.sql:/docker-entrypoint-initdb.d/1-init.sql
- - ./init_zabbix_db.sh:/docker-entrypoint-initdb.d/2-init_zabbix.sh
- environment:
- - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- healthcheck:
- test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
- interval: 10s
- timeout: 5s
- retries: 20
- restart: always
- ollama:
- image: ollama/ollama:latest
- volumes:
- - ollama_data:/root/.ollama
- restart: always
- searxng:
- image: searxng/searxng:latest
- ports:
- - "8080:8080"
- volumes:
- - ./searxng:/etc/searxng
- environment:
- - SEARXNG_BASE_URL=http://localhost:8080/
- restart: always
- app:
- build:
- context: .
- dockerfile: docker/app/Dockerfile
- ports:
- - "8502:8501"
- environment:
- - DB_HOST=mysql
- - DB_USER=db_reader
- - DB_PASS=${DB_READER_PASS}
- - APP_AUTH_USER=db_app_auth
- - APP_AUTH_PASS=${DB_APP_AUTH_PASS}
- - OLLAMA_HOST=http://ollama:11434
- - SEARXNG_HOST=http://searxng:8080
- depends_on:
- mysql:
- condition: service_healthy
- restart: always
- ingest:
- build:
- context: .
- dockerfile: docker/ingest/Dockerfile
- environment:
- - DB_HOST=mysql
- - DB_USER=db_loader
- - DB_PASS=${DB_LOADER_PASS}
- volumes:
- - ./:/app
- depends_on:
- mysql:
- condition: service_healthy
- profiles:
- - manual # Only runs when explicitly requested
- zabbix-server:
- image: zabbix/zabbix-server-mysql:ubuntu-7.0-latest
- environment:
- - DB_SERVER_HOST=mysql
- - MYSQL_USER=zabbix
- - MYSQL_PASSWORD=${MYSQL_ZABBIX_PASSWORD}
- - ZBX_SNMPTRAPPER=1
- depends_on:
- mysql:
- condition: service_healthy
- restart: always
- zabbix-web:
- image: zabbix/zabbix-web-nginx-mysql:ubuntu-7.0-latest
- ports:
- - "8081:8080"
- - "8444:8443"
- environment:
- - DB_SERVER_HOST=mysql
- - MYSQL_USER=zabbix
- - MYSQL_PASSWORD=${MYSQL_ZABBIX_PASSWORD}
- - ZBX_SERVER_HOST=zabbix-server
- - PHP_TZ=Europe/Paris
- depends_on:
- - zabbix-server
- restart: always
- zabbix-agent:
- image: zabbix/zabbix-agent:ubuntu-7.0-latest
- environment:
- - ZBX_HOSTNAME=Zabbix server
- - ZBX_SERVER_HOST=zabbix-server
- privileged: true
- pid: "host"
- volumes:
- - /var/run:/var/run
- depends_on:
- - zabbix-server
- restart: always
- nginx:
- image: nginx:latest
- ports:
- - "80:80"
- volumes:
- - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- depends_on:
- - app
- restart: always
- volumes:
- mysql_data:
- ollama_data:
|