diff --git a/devbox/devbox.local/example/docker-compose.yaml b/devbox/devbox.local/example/docker-compose.yaml index 721fc22..0b0c442 100644 --- a/devbox/devbox.local/example/docker-compose.yaml +++ b/devbox/devbox.local/example/docker-compose.yaml @@ -39,7 +39,37 @@ services: - backend networks: - freeleaps2-network - + chat: + container_name: freeleaps-chat + build: + context: ${CHAT_HOME} + args: + CONTAINER_APP_ROOT: ${CONTAINER_APP_ROOT} + profiles: [ prod, alpha ] + restart: always + ports: + - ${CHAT_PORT}:${CHAT_PORT} + environment: + - MONGODB_URI=${MONGODB_URI} + - MONGODB_NAME=freeleaps2 + - RABBITMQ_HOST=${RABBITMQ_HOSTNAME} + - RABBITMQ_PORT=${RABBITMQ_PORT} + - TZ=Asia/Shanghai + command: + # Use a conditional check for RabbitMQ in alpha profile + - /bin/sh + - -c + - | + if [[ \"${RABBITMQ_HOST}\" == 'freeleaps2-rabbitmq' ]]; then + while ! nc -z freeleaps2-rabbitmq ${RABBITMQ_PORT}; do + echo "Waiting for RabbitMQ to start..." + sleep 1 + done + echo "RabbitMQ started" + fi + uvicorn main:app --host=0.0.0.0 --port=${CHAT_PORT} --workers 4 --timeout-keep-alive 120 --log-level info + networks: + - freeleaps2-network backend: container_name: freeleaps2-backend build: @@ -58,6 +88,7 @@ services: - STRIPE_ACCOUNT_WEBHOOK_SECRET=${STRIPE_ACCOUNT_WEBHOOK_SECRET} - SITE_URL_ROOT=${SITE_URL_ROOT} - JWT_SECRET_KEY=${JWT_SECRET_KEY} + - FREELEAPS_CHAT_ENDPOINT=${FREELEAPS_CHAT_ENDPOINT} - RABBITMQ_HOST=${RABBITMQ_HOSTNAME} - RABBITMQ_PORT=${RABBITMQ_PORT} - LOG_BASE_PATH=${LOG_BASE_PATH}