1
0

docker-compose.yml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. services:
  2. mysql:
  3. build:
  4. context: ./docker/mysql
  5. ports:
  6. - "3307:3306"
  7. volumes:
  8. - mysql_data:/var/lib/mysql
  9. - ./my.cnf:/etc/mysql/conf.d/custom_ai_app.cnf
  10. - ./init.sql:/docker-entrypoint-initdb.d/1-init.sql
  11. - ./init_zabbix_db.sh:/docker-entrypoint-initdb.d/2-init_zabbix.sh
  12. environment:
  13. - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
  14. healthcheck:
  15. test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
  16. interval: 10s
  17. timeout: 5s
  18. retries: 20
  19. restart: always
  20. ollama:
  21. image: ollama/ollama:latest
  22. volumes:
  23. - ollama_data:/root/.ollama
  24. restart: always
  25. searxng:
  26. image: searxng/searxng:latest
  27. ports:
  28. - "8080:8080"
  29. volumes:
  30. - ./searxng:/etc/searxng
  31. environment:
  32. - SEARXNG_BASE_URL=http://localhost:8080/
  33. restart: always
  34. app:
  35. build:
  36. context: .
  37. dockerfile: docker/app/Dockerfile
  38. ports:
  39. - "8502:8501"
  40. environment:
  41. - DB_HOST=mysql
  42. - DB_USER=db_reader
  43. - DB_PASS=${DB_READER_PASS}
  44. - APP_AUTH_USER=db_app_auth
  45. - APP_AUTH_PASS=${DB_APP_AUTH_PASS}
  46. - OLLAMA_HOST=http://ollama:11434
  47. - SEARXNG_HOST=http://searxng:8080
  48. depends_on:
  49. mysql:
  50. condition: service_healthy
  51. restart: always
  52. ingest:
  53. build:
  54. context: .
  55. dockerfile: docker/ingest/Dockerfile
  56. environment:
  57. - DB_HOST=mysql
  58. - DB_USER=db_loader
  59. - DB_PASS=${DB_LOADER_PASS}
  60. volumes:
  61. - ./:/app
  62. depends_on:
  63. mysql:
  64. condition: service_healthy
  65. profiles:
  66. - manual # Only runs when explicitly requested
  67. zabbix-server:
  68. image: zabbix/zabbix-server-mysql:ubuntu-7.0-latest
  69. environment:
  70. - DB_SERVER_HOST=mysql
  71. - MYSQL_USER=zabbix
  72. - MYSQL_PASSWORD=${MYSQL_ZABBIX_PASSWORD}
  73. - ZBX_SNMPTRAPPER=1
  74. depends_on:
  75. mysql:
  76. condition: service_healthy
  77. restart: always
  78. zabbix-web:
  79. image: zabbix/zabbix-web-nginx-mysql:ubuntu-7.0-latest
  80. ports:
  81. - "8081:8080"
  82. - "8444:8443"
  83. environment:
  84. - DB_SERVER_HOST=mysql
  85. - MYSQL_USER=zabbix
  86. - MYSQL_PASSWORD=${MYSQL_ZABBIX_PASSWORD}
  87. - ZBX_SERVER_HOST=zabbix-server
  88. - PHP_TZ=Europe/Paris
  89. depends_on:
  90. - zabbix-server
  91. restart: always
  92. zabbix-agent:
  93. image: zabbix/zabbix-agent:ubuntu-7.0-latest
  94. environment:
  95. - ZBX_HOSTNAME=Zabbix server
  96. - ZBX_SERVER_HOST=zabbix-server
  97. privileged: true
  98. pid: "host"
  99. volumes:
  100. - /var/run:/var/run
  101. depends_on:
  102. - zabbix-server
  103. restart: always
  104. nginx:
  105. image: nginx:latest
  106. ports:
  107. - "80:80"
  108. volumes:
  109. - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
  110. depends_on:
  111. - app
  112. restart: always
  113. volumes:
  114. mysql_data:
  115. ollama_data: