155 lines
4.6 KiB
YAML
155 lines
4.6 KiB
YAML
services:
|
|
backstory:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: backstory
|
|
container_name: backstory
|
|
image: backstory
|
|
restart: "no"
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- PRODUCTION=0
|
|
- MODEL_NAME=${MODEL_NAME:-qwen2.5:3b}
|
|
devices:
|
|
- /dev/dri:/dev/dri
|
|
depends_on:
|
|
- ollama
|
|
networks:
|
|
- internal
|
|
ports:
|
|
- 8912:8911 # Flask React server
|
|
- 3000:3000 # REACT expo while developing frontend
|
|
volumes:
|
|
- ./cache:/root/.cache # Persist all models and GPU kernel cache
|
|
- ./sessions:/opt/backstory/sessions:rw # Persist sessions
|
|
- ./chromadb:/opt/backstory/chromadb:rw # Persist ChromaDB
|
|
- ./docs:/opt/backstory/docs:ro # Live mount of RAG content
|
|
- ./src:/opt/backstory/src:rw # Live mount server src
|
|
- ./frontend:/opt/backstory/frontend:rw # Live mount frontend src
|
|
cap_add: # used for running ze-monitor within container
|
|
- CAP_DAC_READ_SEARCH # Bypass all filesystem read access checks
|
|
- CAP_PERFMON # Access to perf_events (vs. overloaded CAP_SYS_ADMIN)
|
|
- CAP_SYS_PTRACE # PTRACE_MODE_READ_REALCREDS ptrace access mode check
|
|
|
|
backstory-prod:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: backstory
|
|
image: backstory
|
|
container_name: backstory-prod
|
|
restart: "always"
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- PRODUCTION=1
|
|
- MODEL_NAME=${MODEL_NAME:-qwen2.5:7b}
|
|
devices:
|
|
- /dev/dri:/dev/dri
|
|
depends_on:
|
|
- ollama
|
|
networks:
|
|
- internal
|
|
ports:
|
|
- 8911:8911 # Flask React server
|
|
volumes:
|
|
- ./cache:/root/.cache # Persist all models and GPU kernel cache
|
|
- ./chromadb-prod:/opt/backstory/chromadb:rw # Persist ChromaDB
|
|
- ./sessions:/opt/backstory/sessions:rw # Persist sessions
|
|
- ./docs:/opt/backstory/docs:ro # Live mount of RAG content
|
|
- ./frontend:/opt/backstory/frontend:rw # Live mount frontend src
|
|
cap_add: # used for running ze-monitor within container
|
|
- CAP_DAC_READ_SEARCH # Bypass all filesystem read access checks
|
|
- CAP_PERFMON # Access to perf_events (vs. overloaded CAP_SYS_ADMIN)
|
|
- CAP_SYS_PTRACE # PTRACE_MODE_READ_REALCREDS ptrace access mode check
|
|
|
|
ollama:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: ollama
|
|
image: ollama
|
|
container_name: ollama
|
|
restart: "always"
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- OLLAMA_HOST=0.0.0.0
|
|
- ONEAPI_DEVICE_SELECTOR=level_zero:0
|
|
devices:
|
|
- /dev/dri:/dev/dri
|
|
ports:
|
|
- 11434:11434 # ollama serve port
|
|
networks:
|
|
- internal
|
|
volumes:
|
|
- ./cache:/root/.cache # Cache hub models and neo_compiler_cache
|
|
- ./ollama:/root/.ollama # Cache the ollama models
|
|
cap_add: # used for running ze-monitor within container
|
|
- CAP_DAC_READ_SEARCH # Bypass all filesystem read access checks
|
|
- CAP_PERFMON # Access to perf_events (vs. overloaded CAP_SYS_ADMIN)
|
|
- CAP_SYS_PTRACE # PTRACE_MODE_READ_REALCREDS ptrace access mode check
|
|
|
|
jupyter:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: jupyter
|
|
image: jupyter
|
|
container_name: jupyter
|
|
restart: "always"
|
|
env_file:
|
|
- .env
|
|
devices:
|
|
- /dev/dri:/dev/dri
|
|
depends_on:
|
|
- ollama
|
|
- miniircd
|
|
ports:
|
|
- 8888:8888 # Jupyter Notebook
|
|
- 60673:60673 # Gradio
|
|
networks:
|
|
- internal
|
|
volumes:
|
|
- ./jupyter:/opt/jupyter:rw
|
|
- ./cache:/root/.cache
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: "0" # No memory limit (Docker treats 0 as unlimited)
|
|
reservations:
|
|
memory: "0" # No reserved memory (optional)
|
|
ulimits:
|
|
memlock: -1 # Prevents memory from being locked
|
|
#oom_kill_disable: true # Prevents OOM killer from killing the container
|
|
cap_add: # used for running ze-monitor within container
|
|
- CAP_DAC_READ_SEARCH # Bypass all filesystem read access checks
|
|
- CAP_PERFMON # Access to perf_events (vs. overloaded CAP_SYS_ADMIN)
|
|
- CAP_SYS_PTRACE # PTRACE_MODE_READ_REALCREDS ptrace access mode check
|
|
|
|
miniircd:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: miniircd
|
|
image: miniircd
|
|
container_name: miniircd
|
|
restart: "no"
|
|
env_file:
|
|
- .env
|
|
devices:
|
|
- /dev/dri:/dev/dri
|
|
ports:
|
|
- 6667:6667 # IRC
|
|
networks:
|
|
- internal
|
|
volumes:
|
|
- ./cache:/root/.cache
|
|
|
|
networks:
|
|
internal:
|
|
driver: bridge
|
|
|