docker-compose.yml 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. version: '3.1'
  2. services:
  3. php:
  4. image: php:7-fpm
  5. container_name: ${CONTAINER_PREFIX}_php
  6. web:
  7. image: nginx
  8. depends_on:
  9. - php
  10. restart: always
  11. container_name: ${CONTAINER_PREFIX}_web
  12. volumes:
  13. - ${DATA_ROOT}/conf/nginx.conf:/etc/nginx/conf.d/default.conf
  14. - ${DATA_ROOT}/logs:/var/log/nginx
  15. - ${DATA_ROOT}/www:/var/www/html
  16. ports:
  17. # the router forwards internet traffic from 80 to the host
  18. # machine where "web" is listening on exposed port 8080
  19. # the request will be processed according to the
  20. # configurations in nginx.conf
  21. - 8280:80
  22. https-portal:
  23. image: steveltn/https-portal:1
  24. container_name: ${CONTAINER_PREFIX}_https-portal
  25. ports:
  26. #- 8080:80
  27. # the router forwards internet traffic from 443 to the host
  28. # machine where https-portal is listening on 443
  29. - 8080:80
  30. - 443:443
  31. depends_on:
  32. - web
  33. restart: always
  34. volumes:
  35. - ${DATA_ROOT}/ssl_certs:/var/lib/https-portal
  36. environment:
  37. # DOMAINS: 'dav.algometic.com->http://vsu-koala:80 #local,
  38. # www.vortifytech.com-> http://web:80 #production,
  39. # cal.algometic.com->http://vsu-koala:80 #local,
  40. # algometic.com->http://vsu-dolphin:80 #staging'
  41. # DOMAINS: '
  42. # algometic.com=>www.algometic.com,
  43. # www.algometic.com->http://192.168.1.124:8280 #production,
  44. # mango.algometic.com->http://192.168.1.124:8111 #production,
  45. # ocd.algometic.com->http://192.168.1.124:1234 #production,
  46. # code.algometic.com->http://192.168.1.124:9980 #production,
  47. # 58985620.algometic.com->http://192.168.1.124:8055 #production,
  48. # melody.algometic.com->http://192.168.1.124:9045 #production,
  49. # metrics.algometic.com->http://192.168.1.124:3000 #production,
  50. # books.algometic.com->http://192.168.1.124:8783 #production,
  51. # syn.algometic.com->http://192.168.1.124:9081 #production,
  52. # slot.algometic.com->http://192.168.1.124:9981 #production,
  53. # slot1234.algometic.com->http://192.168.1.124:1235 #production,
  54. # '
  55. #
  56. # if you are getting a 502 bad gateway error (111:connection refused) while
  57. # connecting to upstream, verify the redirection actually is accessible from
  58. # within https-portal to the destination.
  59. # For instance, specifying the hostname vorsprung without the .local
  60. # domain name resolves to 127.0.0.1, which of course wouldn't work because
  61. # the service is not running on https-portal. The proper fix is to
  62. # use vorspurng.local which resolves to 192.168.1.124
  63. #
  64. #
  65. # jupyter.algometic.com->http://192.168.1.124:8564 #production,
  66. # algometic.com=>www.algometic.com,
  67. # 1984.algometic.com->192.168.6.10:8118 #production,
  68. # 3ds.algometic.com->192.168.1.116:5123 #production,
  69. # hub.algometic.com->http://192.168.1.124:8255 #production,
  70. # hubreg.algometic.com->http://192.168.1.124:8256 #production,
  71. # baidu.algometic.com->http://192.168.1.124:6081 #production,
  72. # matrix.algometic.com->http://192.168.1.124:8380 #production,
  73. # element.algometic.com->http://192.168.1.124:8008 #production,
  74. # ocd.algometic.com->http://192.168.1.124:1235 #production,
  75. # code.algometic.com->http://192.168.1.124:9981 #production,
  76. # identity.algometic.com->http://192.168.1.124:8090 #production,
  77. # secouch.algometic.com->http://192.168.1.124:5123 #production,
  78. # nc2022code.algometic.com->http://192.168.1.124:9982 #production,
  79. # nc2022.algometic.com->http://192.168.1.124:1236 #production,
  80. # bellabee.ai->http://192.168.1.119:4321 #production,
  81. # chat.algometic.com->http://192.168.1.38:3000 #production,
  82. # 1. Enable WebSocket/SSE upgrade headers globally
  83. WEBSOCKET: 'true'
  84. # 2. Inject custom Nginx directives specifically for chat.algometic.com
  85. # (Note: If your domain is actually plural 'chats.algometic.com', change this to CUSTOM_NGINX_CHATS_ALGOMETIC_COM_CONFIG_BLOCK)
  86. CUSTOM_NGINX_CHAT_ALGOMETIC_COM_CONFIG_BLOCK: |
  87. # Disable buffering for SSE streaming
  88. proxy_buffering off;
  89. proxy_request_buffering off;
  90. proxy_cache off;
  91. chunked_transfer_encoding on;
  92. tcp_nodelay on;
  93. # Instruct intermediate proxies not to buffer
  94. add_header X-Accel-Buffering "no" always;
  95. add_header Cache-Control "no-store" always;
  96. # Increase timeouts (LLM generations can take a long time, default 60s is too short)
  97. proxy_connect_timeout 1800;
  98. proxy_send_timeout 1800;
  99. proxy_read_timeout 1800;
  100. # Allow larger file uploads if you attach documents to the chat
  101. client_max_body_size 20M;
  102. DOMAINS: '
  103. algometic.com->http://192.168.1.119:8280 #production,
  104. www.algometic.com->http://192.168.1.119:8280 #production,
  105. 58985620.algometic.com->http://192.168.1.119:8055 #production,
  106. melody.algometic.com->http://192.168.1.119:9045 #production,
  107. metrics.algometic.com->http://192.168.1.119:3000 #production,
  108. books.algometic.com->http://192.168.1.119:8783 #production,
  109. syn.algometic.com->http://192.168.1.119:9081 #production,
  110. git.algometic.com->http://192.168.1.119:3079 #production,
  111. cine.algometic.com->http://192.168.1.119:8096 #production,
  112. wg.algometic.com->http://192.168.1.119:8165 #production,
  113. hub.algometic.com->http://192.168.1.119:8255 #production,
  114. hubreg.algometic.com->http://192.168.1.119:8256 #production,
  115. wake.algometic.com->http://192.168.1.119:8081 #production,
  116. 1984.algometic.com->http://192.168.1.119:1234 #production,
  117. 1985.algometic.com->http://192.168.1.119:9980 #production,
  118. chat.algometic.com->http://192.168.1.38:3000 #production,
  119. '
  120. CLIENT_MAX_BODY_SIZE: 2048M