docker-compose.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  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=root_pass
  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. app:
  26. build:
  27. context: .
  28. dockerfile: docker/app/Dockerfile
  29. ports:
  30. - "8502:8501"
  31. environment:
  32. - DB_HOST=mysql
  33. - DB_USER=db_reader
  34. - DB_PASS=${DB_READER_PASS}
  35. - APP_AUTH_USER=db_app_auth
  36. - APP_AUTH_PASS=${DB_APP_AUTH_PASS}
  37. - OLLAMA_HOST=http://ollama:11434
  38. depends_on:
  39. mysql:
  40. condition: service_healthy
  41. restart: always
  42. ingest:
  43. build:
  44. context: .
  45. dockerfile: docker/ingest/Dockerfile
  46. environment:
  47. - DB_HOST=mysql
  48. - DB_USER=db_loader
  49. - DB_PASS=${DB_LOADER_PASS}
  50. volumes:
  51. - ./:/app
  52. depends_on:
  53. mysql:
  54. condition: service_healthy
  55. profiles:
  56. - manual # Only runs when explicitly requested
  57. zabbix-server:
  58. image: zabbix/zabbix-server-mysql:ubuntu-7.0-latest
  59. environment:
  60. - DB_SERVER_HOST=mysql
  61. - MYSQL_USER=zabbix
  62. - MYSQL_PASSWORD=zabbix_pwd
  63. - ZBX_SNMPTRAPPER=1
  64. depends_on:
  65. mysql:
  66. condition: service_healthy
  67. restart: always
  68. zabbix-web:
  69. image: zabbix/zabbix-web-nginx-mysql:ubuntu-7.0-latest
  70. ports:
  71. - "8081:8080"
  72. - "8444:8443"
  73. environment:
  74. - DB_SERVER_HOST=mysql
  75. - MYSQL_USER=zabbix
  76. - MYSQL_PASSWORD=zabbix_pwd
  77. - ZBX_SERVER_HOST=zabbix-server
  78. - PHP_TZ=Europe/Paris
  79. depends_on:
  80. - zabbix-server
  81. restart: always
  82. zabbix-agent:
  83. image: zabbix/zabbix-agent:ubuntu-7.0-latest
  84. environment:
  85. - ZBX_HOSTNAME=Zabbix server
  86. - ZBX_SERVER_HOST=zabbix-server
  87. privileged: true
  88. pid: "host"
  89. volumes:
  90. - /var/run:/var/run
  91. depends_on:
  92. - zabbix-server
  93. restart: always
  94. nginx:
  95. image: nginx:latest
  96. ports:
  97. - "80:80"
  98. volumes:
  99. - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
  100. depends_on:
  101. - app
  102. restart: always
  103. volumes:
  104. mysql_data:
  105. ollama_data: