|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
version: '3.9' |
|
|
|
services: |
|
|
|
|
|
|
|
|
|
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: |
|
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 |
|
|
|
|
|
|
|
|
|
|
|
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: |
|
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: |
|
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 |
|
|
|
|
|
|
|
|
|
|
|
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: |
|
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 |
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|