docker-compose.yml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. version: "3"
  2. services:
  3. im-mysql:
  4. container_name: im-mysql
  5. image: mysql:5.7
  6. command: --default-authentication-plugin=mysql_native_password
  7. restart: always
  8. environment:
  9. - TZ=Asia/Shanghai
  10. - MYSQL_ROOT_PASSWORD=MYSQL_ROOT_USER_PASSWORD
  11. - MYSQL_ROOT_HOST=%
  12. - MYSQL_IM_USERNAME=MYSQL_USERNAME
  13. - MYSQL_IM_PASSWORD=MYSQL_PASSWORD
  14. volumes:
  15. - deploydir/docker_volumes_data/mysql/data:/var/lib/mysql
  16. - deploydir/docker_volumes_data/mysql/mysql.conf.d:/etc/mysql/mysql.conf.d
  17. im-redis:
  18. container_name: im-redis
  19. image: redis:6-alpine
  20. command: redis-server --requirepass REDIS_PASSWORD --appendonly yes --appendfsync everysec --auto-aof-rewrite-percentage 100 --auto-aof-rewrite-min-size 100mb
  21. restart: always
  22. # ports:
  23. # - "127.0.0.1:6379:6379"
  24. volumes:
  25. - deploydir/docker_volumes_data/redis/data:/data
  26. im-minio:
  27. container_name: im-minio
  28. image: bitnami/minio:2024
  29. restart: always
  30. # ports:
  31. # - 9001:9001
  32. # - 9002:9002
  33. privileged: true
  34. environment:
  35. - MINIO_SKIP_CLIENT=yes
  36. - MINIO_API_PORT_NUMBER=9001
  37. - MINIO_CONSOLE_PORT_NUMBER=9002
  38. # - MINIO_OPTS="--console-address :9002 --address :9001"
  39. # - MINIO_DOMAIN=im_minio:9001
  40. - MINIO_DATA_DIR=/data/minio
  41. - MINIO_ROOT_USER=MINIO_USERNAME
  42. - MINIO_ROOT_PASSWORD=MINIO_PASSWORD
  43. volumes:
  44. - deploydir/docker_volumes_data/minio/data:/data/minio
  45. im-nginx:
  46. container_name: im-nginx
  47. image: openresty/openresty:1.21.4.1-0-alpine
  48. restart: always
  49. ports:
  50. - PORT_NGINX_HTTP_OS:80
  51. - PORT_NGINX_HTTPS_OS:443
  52. - PORT_NGINX_WSS_OS:81
  53. depends_on:
  54. im-platform:
  55. condition: service_started
  56. im-server:
  57. condition: service_started
  58. volumes:
  59. - deploydir/docker_volumes_data/nginx/data/conf:/etc/nginx ## configs
  60. - deploydir/docker_volumes_data/nginx/data/certs:/etc/certs ## cert files
  61. - deploydir/docker_volumes_data/nginx/data/web:/usr/share/nginx ## web
  62. im-platform:
  63. container_name: im-platform
  64. image: im-platform:latest
  65. restart: always
  66. depends_on:
  67. im-mysql:
  68. condition: service_started
  69. im-redis:
  70. condition: service_started
  71. im-minio:
  72. condition: service_started
  73. env_file:
  74. - im-platform.env
  75. im-server:
  76. container_name: im-server
  77. image: im-server:latest
  78. restart: always
  79. depends_on:
  80. im-mysql:
  81. condition: service_started
  82. im-redis:
  83. condition: service_started
  84. im-minio:
  85. condition: service_started
  86. env_file:
  87. - im-server.env
  88. networks:
  89. default:
  90. external:
  91. name: im-network