forked from jataware/beaker-kernel
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
82 lines (82 loc) · 2.62 KB
/
docker-compose.yaml
File metadata and controls
82 lines (82 loc) · 2.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
---
services:
jupyter:
user: root
build:
dockerfile: ${DOCKERFILE:-Dockerfile}
context: .
ports:
- "8888:8888"
depends_on:
ui:
condition: service_healthy
environment:
- UID=1000
- GID=1000
- DEBUG=1
- JUPYTER_SERVER=http://jupyter:8888
- JUPYTER_BASE_URL=${JUPYTER_BASE_URL:-http://localhost:8080}
- JUPYTER_TOKEN # Only set in container if set in running environment
- PYTHONPATH=/jupyter
- ENABLE_CHECKPOINTS=true
- TOOL_ENABLED_ASK_USER=true
- TOOL_ENABLED_RUN_CODE=true
# These veriables are useful when running in server mode
# - CONFIG_TYPE=server
# - LLM_PROVIDER_IMPORT_PATH=archytas.models.openai.OpenAIModel
# - LLM_SERVICE_MODEL=gpt-4o
# - LLM_SERVICE_TOKEN=${OPENAI_API_KEY}
volumes:
- ./beaker_kernel:/usr/local/share/jupyter/kernels/beaker_kernel
- .:/jupyter
- ui-html:/jupyter/beaker_kernel/service/ui
- run:/var/run/beaker/
command: ["beaker", "dev", "watch", "--ip", "0.0.0.0", "--allow-root"]
ui:
build:
dockerfile_inline: |
FROM node:20
USER root:root
RUN apt update && apt install -y vim
RUN npm install -g npm@11.3.0
RUN echo 'prefix = "/home/node"' > /home/node/.npmrc
RUN mkdir -p /home/node/beaker-vue/node_modules /home/node/beaker-ts/node_modules /home/node/beaker-vue/dist/html /home/node/node_modules
RUN chown -R node:node /home/node
VOLUME /home/node/node_modules /home/node/beaker-vue /home/node/beaker-vue/node_modules /home/node/beaker-ts /home/node/beaker-ts/node_modules /home/node/beaker-vue/dist/html
USER node:node
RUN echo '{\n\
"workspaces": [ "beaker-ts", "beaker-vue" ]\n\
}' > /home/node/package.json
user: node:node
volumes:
- node-modules:/home/node/node_modules
- ./beaker-vue:/home/node/beaker-vue
- vue-modules:/home/node/beaker-vue/node_modules
- ./beaker-ts:/home/node/beaker-ts
- ts-modules:/home/node/beaker-ts/node_modules
- ui-html:/home/node/beaker-vue/dist/html
working_dir: "/home/node"
healthcheck:
test: [ "CMD", "ls", "/home/node/beaker-vue/dist/html/routes.json"]
interval: 5s
timeout: 10s
retries: 36 # 3 minutes
start_period: 5s
environment:
- PROXY=http://jupyter:8888
- UID=1000
- GID=1000
ports:
- "8080:8080"
command: |
sh -c '
npm i;
npm -w beaker-vue run routes;
npm -w beaker-vue run serve;
'
volumes:
ui-html:
run:
vue-modules:
ts-modules:
node-modules: