82 lines
1.7 KiB
YAML
82 lines
1.7 KiB
YAML
services:
|
|
client:
|
|
container_name: client
|
|
hostname: client
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.client
|
|
env_file:
|
|
- ./.env
|
|
environment:
|
|
- PRODUCTION=${PRODUCTION:-false}
|
|
ports:
|
|
- "3456:3000"
|
|
restart: no
|
|
volumes:
|
|
- ./server:/server:ro # So the frontend can read the OpenAPI spec
|
|
- ./client:/client:rw
|
|
- ./dev-keys:/keys:ro # So the frontend entrypoint can check for SSL files
|
|
networks:
|
|
- ai-voicebot-net
|
|
|
|
python-3.12:
|
|
container_name: python-3.12
|
|
hostname: python-3.12
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.python-3.12
|
|
restart: no
|
|
volumes:
|
|
- ./build:/build:rw
|
|
|
|
|
|
server:
|
|
container_name: server
|
|
hostname: server
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.server
|
|
env_file:
|
|
- ./.env
|
|
environment:
|
|
- PRODUCTION=${PRODUCTION:-false}
|
|
- PYTHONPATH=/:/server
|
|
restart: always
|
|
ports:
|
|
- "8001:8000"
|
|
volumes:
|
|
- ./shared:/shared:ro
|
|
- ./server:/server:rw
|
|
- ./server/.venv:/server/.venv:rw
|
|
- ./client/build:/client/build:ro
|
|
- ./dev-keys:/keys:ro
|
|
networks:
|
|
- ai-voicebot-net
|
|
|
|
ai-voicebot:
|
|
container_name: ai-voicebot
|
|
hostname: ai-voicebot
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.voicebot
|
|
env_file:
|
|
- ./.env
|
|
environment:
|
|
- PRODUCTION=${PRODUCTION:-false}
|
|
- VOICEBOT_MODE=provider
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./cache:/root/.cache:rw
|
|
- ./shared:/shared:ro
|
|
- ./voicebot:/voicebot:rw
|
|
- ./voicebot/.venv:/voicebot/.venv:rw
|
|
# network_mode: host
|
|
networks:
|
|
- ai-voicebot-net
|
|
|
|
|
|
networks:
|
|
ai-voicebot-net:
|
|
driver: bridge
|
|
|