rasagpt / docker-compose.yml
rahul5035's picture
Rename docker.yml-compose.yml to docker-compose.yml
6a39113 verified
# -------------------------------------
# β–’β–ˆβ–€β–€β–ˆ β–ˆβ–€β–€β–ˆ β–ˆβ–€β–€ β–ˆβ–€β–€β–ˆ β–’β–ˆβ–€β–€β–ˆ β–’β–ˆβ–€β–€β–ˆ β–€β–€β–ˆβ–€β–€
# β–’β–ˆβ–„β–„β–€ β–ˆβ–„β–„β–ˆ β–€β–€β–ˆ β–ˆβ–„β–„β–ˆ β–’β–ˆβ–‘β–„β–„ β–’β–ˆβ–„β–„β–ˆ β–‘β–’β–ˆβ–‘β–‘
# β–’β–ˆβ–‘β–’β–ˆ β–€β–‘β–‘β–€ β–€β–€β–€ β–€β–‘β–‘β–€ β–’β–ˆβ–„β–„β–ˆ β–’β–ˆβ–‘β–‘β–‘ β–‘β–’β–ˆβ–‘β–‘
# +-----------------------------------+
# | http://RasaGPT.dev by @paulpierre |
# +-----------------------------------+
version: '3.9'
services:
# -------------------
# API service for LLM
# -------------------
api:
build:
context: ./app/api
restart: always
container_name: chat_api
env_file:
- .env
ports:
- 8888:8888
healthcheck:
test: ["CMD", "curl", "-f", "http://api:8888/health"]
interval: 15s
retries: 5
depends_on:
- db
networks:
- chat-network
volumes:
- ./app/scripts/wait-for-it.sh:/app/api/wait-for-it.sh
- ./app/api:/app/api
# -------------------
# Ngrok agent service
# -------------------
ngrok:
image: ngrok/ngrok:latest
container_name: chat_ngrok
ports:
- 4040:4040
env_file:
- .env
environment:
NGROK_CONFIG: /etc/ngrok.yml
NGROK_AUTH_TOKEN: ${NGROK_AUTH_TOKEN:-}
NGROK_DEBUG: ${NGROK_DEBUG:-true}
NGROK_API_KEY: ${NGROK_API_KEY:-}
networks:
- chat-network
volumes:
- ./app/rasa/ngrok.yml:/etc/ngrok.yml
restart: unless-stopped
# -----------------
# Core Rasa service
# -----------------
rasa-core:
image: rasa/rasa:latest
container_name: chat_rasa_core
env_file:
- .env
volumes:
- ./app/rasa:/app
- ./app/scripts/wait-for-it.sh:/app/wait-for-it.sh
ports:
- 5005:5005
entrypoint: ["/bin/bash", "-c", "chmod +x /app/wait-for-it.sh && /app/wait-for-it.sh rasa-credentials:8889 -t 120 -o && rasa run --enable-api --cors '*' --debug --credentials /app/credentials.yml --endpoints /app/endpoints.yml --model /app/models"]
networks:
- chat-network
depends_on:
- rasa-actions
- rasa-credentials
# --------------------
# Rasa actions service
# --------------------
rasa-actions:
build:
context: ./app/rasa
dockerfile: ./actions/Dockerfile
container_name: chat_rasa_actions
env_file:
- .env
ports:
- 5055:5055
depends_on:
- rasa-credentials
networks:
- chat-network
# -------------------------------
# Rasa credentials helper service
# -------------------------------
rasa-credentials:
build:
context: ./app/rasa-credentials
dockerfile: Dockerfile
container_name: chat_rasa_credentials
volumes:
- ./app/rasa:/app/rasa
- ./app/rasa-credentials:/app/rasa-credentials
ports:
- 8889:8889
env_file:
- .env
networks:
- chat-network
healthcheck:
test: ["CMD", "curl", "-f", "http://rasa-credentials:8889"]
interval: 15s
retries: 5
# -------------------------
# Postgres database service
# -------------------------
db:
build:
context: ./app/db
container_name: chat_db
env_file:
- .env
environment:
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
volumes:
- ./mnt/db:/var/lib/postgresql/data
ports:
- "5432:5432"
healthcheck:
test: ["CMD", "pg_isready", "-U", "postgres"]
interval: 5s
retries: 5
networks:
- chat-network
# --------------------------------
# PgAdmin database browser service
# --------------------------------
pgadmin:
container_name: chat_pgadmin
image: dpage/pgadmin4
environment:
PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:[email protected]}
PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin}
PGADMIN_CONFIG_SERVER_MODE: 'False'
volumes:
- ./mnt/pgadmin:/var/lib/pgadmin
ports:
- "${PGADMIN_PORT:-5050}:80"
restart: unless-stopped
depends_on:
- db
networks:
- chat-network
# ----------------------------
# Container log viewer service
# ----------------------------
dozzle:
container_name: chat_dozzle
image: amir20/dozzle:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 9999:8080
depends_on:
- db
networks:
chat-network:
driver: bridge