-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
62 lines (60 loc) · 1.71 KB
/
Copy pathdocker-compose.yaml
File metadata and controls
62 lines (60 loc) · 1.71 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
services:
beaker:
image: beaker-dev:latest
ports:
- "8888:8888"
volumes:
- "home:/home/user"
- ".:/opt/development/packages/beaker-notebook"
pull_policy: never
ui:
build:
context: .
dockerfile_inline: |
FROM node:24
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
COPY . /home/node/
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
WORKDIR /home/node/
RUN echo '{\n\
"workspaces": [ "beaker-ts", "beaker-vue" ]\n\
}' > /home/node/package.json
RUN npm i --workspaces
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://beaker: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:
home:
node-modules:
vue-modules:
ts-modules:
ui-html: