backstory/docker-compose.yml

116 lines
3.1 KiB
YAML

services:
airc:
build:
context: .
dockerfile: Dockerfile
target: airc
image: airc
restart: "no"
env_file:
- .env
devices:
- /dev/dri:/dev/dri
depends_on:
- ollama
networks:
- internal
ports:
- 8911:8911
volumes:
- ./cache:/root/.cache
- ./src:/opt/airc/src:rw
- ./doc:/opt/airc/doc:ro
- ./results:/opt/airc/results:rw
- ./ketr-chat:/opt/airc/ketr-chat:rw # Live mount 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
restart: "no"
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
env_file:
- .env
devices:
- /dev/dri:/dev/dri
depends_on:
- ollama
- miniircd
ports:
- 8888:8888 # Jupyter Notebook
- 60673:60673 # Gradio
- 5000:5000 # Flask React server
- 3000:3000 # REACT expo
networks:
- internal
volumes:
- ./jupyter:/opt/jupyter:rw
- ./cache:/root/.cache
- ./src:/opt/airc/src:rw # Live mount src
- ./ketr-chat:/opt/airc/ketr-chat:rw # Live mount src
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
env_file:
- .env
devices:
- /dev/dri:/dev/dri
ports:
- 6667:6667 # IRC
networks:
- internal
volumes:
- ./cache:/root/.cache
networks:
internal:
driver: bridge