docker-compose.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. version: '3.8'
  2. services:
  3. mysql:
  4. build:
  5. context: ./docker/mysql
  6. ports:
  7. - "3306:3306"
  8. volumes:
  9. - mysql_data:/var/lib/mysql
  10. - ./my.cnf:/etc/mysql/conf.d/custom_ai_app.cnf
  11. - ./init.sql:/docker-entrypoint-initdb.d/1-init.sql
  12. - ./init_zabbix_db.sh:/docker-entrypoint-initdb.d/2-init_zabbix.sh
  13. environment:
  14. - MYSQL_ROOT_PASSWORD=root_pass
  15. healthcheck:
  16. test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
  17. interval: 10s
  18. timeout: 5s
  19. retries: 5
  20. restart: always
  21. ollama:
  22. image: ollama/ollama:latest
  23. ports:
  24. - "11434:11434"
  25. volumes:
  26. - ollama_data:/root/.ollama
  27. deploy:
  28. resources:
  29. reservations:
  30. devices:
  31. - driver: nvidia
  32. count: 1
  33. capabilities: [gpu]
  34. restart: always
  35. app:
  36. build:
  37. context: .
  38. dockerfile: docker/app/Dockerfile
  39. ports:
  40. - "8501:8501"
  41. environment:
  42. - DB_HOST=mysql
  43. - DB_USER=db_reader
  44. - DB_PASS=${DB_READER_PASS}
  45. - OLLAMA_HOST=http://ollama:11434
  46. depends_on:
  47. mysql:
  48. condition: service_healthy
  49. restart: always
  50. ingest:
  51. build:
  52. context: .
  53. dockerfile: docker/ingest/Dockerfile
  54. environment:
  55. - DB_HOST=mysql
  56. - DB_USER=db_loader
  57. - DB_PASS=${DB_LOADER_PASS}
  58. volumes:
  59. - ./:/app
  60. depends_on:
  61. mysql:
  62. condition: service_healthy
  63. profiles:
  64. - manual # Only runs when explicitly requested
  65. zabbix-server:
  66. image: zabbix/zabbix-server-mysql:ubuntu-7.0-latest
  67. ports:
  68. - "10051:10051"
  69. environment:
  70. - DB_SERVER_HOST=mysql
  71. - MYSQL_USER=zabbix
  72. - MYSQL_PASSWORD=zabbix_pwd
  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. - "8080:8080"
  82. - "8443:8443"
  83. environment:
  84. - DB_SERVER_HOST=mysql
  85. - MYSQL_USER=zabbix
  86. - MYSQL_PASSWORD=zabbix_pwd
  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. volumes:
  105. mysql_data:
  106. ollama_data: