1- version: "3.7"
2-
31services:
42 manual:
53 image: ${VENDOR_MANUAL_IMAGE}
@@ -34,14 +32,16 @@ services:
3432 - traefik.http.routers.vendor_manual.middlewares=ops_gzip@swarm, authenticated_platform_user@swarm
3533 networks:
3634 - public
37- chat:
38- image: ${VENDOR_CHATBOT_IMAGE }
35+ chat-backend :
36+ image: ${VENDOR_CHATBOT_BACKEND_IMAGE }
3937 init: true
38+ env_file:
39+ - .env
4040{% - raw %}
41- hostname: "v-chat-{{.Node.Hostname}}-{{.Task.Slot}}"
41+ hostname: "v-chat-backend- {{.Node.Hostname}}-{{.Task.Slot}}"
4242{% - endraw %}
4343 deploy:
44- replicas: ${VENDOR_CHATBOT_REPLICAS }
44+ replicas: ${VENDOR_CHATBOT_BACKEND_REPLICAS }
4545 placement:
4646 constraints:
4747 - node.labels.simcore==true
@@ -60,13 +60,43 @@ services:
6060 labels:
6161 - traefik.enable=true
6262 - traefik.swarm.network=${PUBLIC_NETWORK}
63- - traefik.http.services.vendor_chat.loadbalancer.server.port=${VENDOR_CHATBOT_PORT}
64- - traefik.http.routers.vendor_chat.entrypoints=https
65- - traefik.http.routers.vendor_chat.tls=true
66- - traefik.http.routers.vendor_chat.rule={{ generate_vendors_traefik_rule(VENDOR_CHATBOT_PRODUCTS, VENDOR_CHATBOT_SUBDOMAIN_PREFIX) }}
67- - traefik.http.routers.vendor_chat.middlewares=authenticated_platform_user@swarm
68- - prometheus-job=vendor-chat
69- - prometheus-port=8000
63+ - traefik.http.services.vendor_chat_backend.loadbalancer.server.port=${VENDOR_CHATBOT_BACKEND_PORT}
64+ - traefik.http.routers.vendor_chat_backend.entrypoints=https
65+ - traefik.http.routers.vendor_chat_backend.tls=true
66+ - traefik.http.routers.vendor_chat_backend.rule=(PathPrefix(`/v1/`) && ({{ generate_vendors_traefik_rule(VENDOR_CHATBOT_FRONTEND_PRODUCTS, VENDOR_CHATBOT_FRONTEND_SUBDOMAIN_PREFIX) }}))
67+ networks:
68+ - public
69+ chat-frontend:
70+ image: ${VENDOR_CHATBOT_FRONTEND_IMAGE}
71+ init: true
72+ {% - raw %}
73+ hostname: "v-chat-frontend-{{.Node.Hostname}}-{{.Task.Slot}}"
74+ {% - endraw %}
75+ deploy:
76+ replicas: ${VENDOR_CHATBOT_FRONTEND_REPLICAS}
77+ placement:
78+ constraints:
79+ - node.labels.simcore==true
80+ resources:
81+ limits:
82+ cpus: "1.0"
83+ memory: 2.5G
84+ reservations:
85+ cpus: "0.1"
86+ memory: 512M
87+ update_config:
88+ parallelism: 1
89+ order: start-first
90+ failure_action: continue
91+ delay: 10s
92+ labels:
93+ - traefik.enable=true
94+ - traefik.swarm.network=${PUBLIC_NETWORK}
95+ - traefik.http.services.vendor_chat_frontend.loadbalancer.server.port=${VENDOR_CHATBOT_FRONTEND_PORT}
96+ - traefik.http.routers.vendor_chat_frontend.entrypoints=https
97+ - traefik.http.routers.vendor_chat_frontend.tls=true
98+ - traefik.http.routers.vendor_chat_frontend.rule=(!PathPrefix(`/v1/`) && ({{ generate_vendors_traefik_rule(VENDOR_CHATBOT_FRONTEND_PRODUCTS, VENDOR_CHATBOT_FRONTEND_SUBDOMAIN_PREFIX) }}))
99+ - traefik.http.routers.vendor_chat_frontend.middlewares=authenticated_platform_user@swarm
70100 networks:
71101 - public
72102networks:
0 commit comments