-
Notifications
You must be signed in to change notification settings - Fork 2
/
docker-compose.yml
81 lines (77 loc) · 2.49 KB
/
docker-compose.yml
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
---
version: "3.9"
services:
proxy:
image: nginx:1.21.4-alpine
restart: unless-stopped
depends_on:
- api
- front
volumes:
- ./config/default.conf:/etc/nginx/conf.d/default.conf:ro
ports:
- 80:80
api:
build: .
command: npx lerna run --scope api --stream start:prod
restart: unless-stopped
depends_on:
- wol-agent
- wetty
extra_hosts:
- "wol-agent:172.17.0.1"
ports:
- 6969:6969/udp
expose:
- 3000
environment:
- AUTH_USERNAME=${AUTH_USERNAME:-username}
- AUTH_PASSWORD=${AUTH_PASSWORD:-password}
- HOSTS_LIST=${HOSTS_LIST:-/app/config/hosts.yml}
- STUDENT_USERNAME=${STUDENT_USERNAME:-student}
- SECRET=${SECRET:-secret}
- EXPIRES_IN=${EXPIRES_IN:-1h}
- SECRET_REFRESH=${SECRET_REFRESH:-secretRefresh}
- REFRESH_EXPIRES_IN=${REFRESH_EXPIRES_IN:-1d}
- REFRESH_REMEMBER_EXPIRES_IN=${REFRESH_REMEMBER_EXPIRES_IN:-7d}
- BOOT_TOKEN_SECRET=${BOOT_TOKEN_SECRET:-bootSecret}
- NODE_SSH_PRIVATE_KEY=${NODE_SSH_PRIVATE_KEY:-/app/config/ssh_key-node}
- STATE_CHECK_INTERVAL=${STATE_CHECK_INTERVAL:-10}
- WAIT_SHUTDOWN_SECONDS=${WAIT_SHUTDOWN_SECONDS:-60}
- WAIT_BOOT_SECONDS=${WAIT_BOOT_SECONDS:-30}
- NODE_SSH_PORT=${NODE_SSH_PORT:-22}
- TFTP_PORT=${TFTP_PORT:-6969}
- GRUB_UBUNTU=${GRUB_UBUNTU:-0}
- WOL_AGENT_URL=http://wol-agent:3003
- WOL_AGENT_SECRET=${SECRET:-wolSecret}
- GRUB_WINDOWS=${GRUB_WINDOWS:-3}
- WETTY_TARGET_URL=http://wetty:3001
- WETTY_PROXY_URL=/api/wetty
- LOG_VERBOSITY=${LOG_VERBOSITY:-4}
volumes:
- ./config:/app/config:ro
wol-agent:
build: .
command: npx lerna run --scope wol-agent --stream start:prod
restart: unless-stopped
network_mode: host
environment:
- SECRET=${SECRET:-wolSecret}
- WOL_ADDRESS=${WOL_ADDRESS:-255.255.255.255}
- WOL_PORT=${WOL_PORT:-9}
front:
build: .
command: npx lerna run --scope front --stream start
restart: unless-stopped
environment:
- BASE_URL=${BASE_URL:-http://localhost}
expose:
- 3002
wetty:
image: lblazewski/wetty:2.1.2
command: "wetty -p 3001 -b /api/wetty/ --allow-iframe --ssh-user ${SSH_USER} --ssh-host ${SSH_HOST} --ssh-port ${MASTER_SSH_PORT:-22} --ssh-key ${MASTER_SSH_PRIVATE_KEY:-/app/config/ssh_key-master} --ssh-auth publickey,password"
restart: unless-stopped
volumes:
- ./config:/app/config:ro
expose:
- 3001