-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.dev.yml
156 lines (155 loc) · 4.48 KB
/
docker-compose.dev.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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
version: "3.3"
services:
boucan:
build:
context: ${BOUCAN_DIR}/boucanpy
dockerfile: Dockerfile
image: 3lpsy/boucan:latest
networks:
boucanpub:
# add --db-seed back for more fake data
command: api-server --debug --reload --no-envs -l 0.0.0.0 --db-setup --db-seed-env --log-level info --log-format short --second-log-level warning --force-exit
environment:
- API_ENV=dev
- API_SECRET_KEY=helloworld
- API_SERVER_NAME=boucan
- API_CORS_ORIGINS=http://127.0.0.1:8080,http://localhost:8080,http://boucan.dev:8080
- API_REPO_DEBUG=0
- DB_DRIVER=postgresql
- DB_HOST=db
- DB_PORT=5432
- DB_USER=postgres
- DB_PASSWORD=postgres
- DB_DATABASE=postgres
- BROADCAST_ENABLED=1
- BROADCAST_DRIVER=redis
- BROADCAST_HOST=broadcast
- BROADCAST_PORT=6379
- BROADCAST_PASSWORD=redis
- BROADCAST_PATH=0
- SEED_USER_0_EMAIL=jim@jim.jim
- SEED_USER_0_PASSWORD=password123
- SEED_USER_0_SUPERUSER=1
- SEED_DNS_SERVER_0_NAME=mynode
- SEED_ZONE_0_IP=127.0.0.1
- SEED_ZONE_0_DOMAIN=boucan.dev
volumes:
- ${BOUCAN_DIR}/boucanpy/boucanpy:/boucanpy/boucanpy
- ${BOUCAN_DIR}/boucanpy/bdnsctl.py:/boucanpy/bdnsctl.py
- ${BOUCAN_DIR}/boucanpy/requirements.txt:/boucanpy/requirements.txt
depends_on:
- db
- broadcast
dns:
image: 3lpsy/boucan:latest
networks:
boucanpub:
command: dns-server -l 0.0.0.0 -p 53 --log-level info --log-format short --no-ssl-verify
ports:
- "127.0.0.1:5300:53/udp"
- "127.0.0.1:5300:53/tcp"
environment:
- API_URL=http://web:8080
- API_TOKEN=${DNS_API_TOKEN}
volumes:
- ${BOUCAN_DIR}/boucanpy/boucanpy:/boucanpy/boucanpy
- ${BOUCAN_DIR}/boucanpy/bdnsctl.py:/boucanpy/bdnsctl.py
- ${BOUCAN_DIR}/boucanpy/requirements.txt:/boucanpy/requirements.txt
restart: on-failure:2
depends_on:
- boucan
- broadcast
- web
http:
image: 3lpsy/boucan:latest
networks:
boucanpub:
command: http-server -l 0.0.0.0 -p 80 --log-level info --log-format short --no-ssl-verify --enable-ssl --ssl-port 443 --ssl-listen 0.0.0.0
ports:
- "127.0.0.1:9080:80/tcp"
- "127.0.0.1:9443:443/tcp"
environment:
- API_URL=http://web:8080
- API_TOKEN=${HTTP_API_TOKEN}
volumes:
- ${BOUCAN_DIR}/boucanpy/boucanpy:/boucanpy/boucanpy
- ${BOUCAN_DIR}/boucanpy/bdnsctl.py:/boucanpy/bdnsctl.py
- ${BOUCAN_DIR}/boucanpy/requirements.txt:/boucanpy/requirements.txt
restart: on-failure:2
depends_on:
- boucan
- broadcast
- web
web:
build:
context: ${BOUCAN_DIR}/boucan-web
dockerfile: Dockerfile
args:
VUE_APP_API_BASE: http://localhost:8080
VUE_APP_API_URL: http://localhost:8080/api/v1
VUE_APP_BROADCAST_BASE: http://localhost:8080
VUE_APP_BROADCAST_URL: http://localhost:8080/broadcast
image: 3lpsy/boucan-web:latest
ports:
- "127.0.0.1:8080:8080"
- "127.0.0.1:8443:8443"
environment:
- SSL_ENABLED=0
- INSECURE_LISTEN_PORT=8080
- API_BACKEND_PROTO=http
- API_BACKEND_HOST=boucan
- API_BACKEND_PORT=8080
- DEBUG_CONF=0
volumes:
- ${BOUCAN_DIR}/boucan-web/dist:/var/www/app/webui
- ${BOUCAN_DIR}/boucan-web/landing:/var/www/app/landing
networks:
boucanpub:
depends_on:
- boucan
broadcast:
build:
context: ${COMPOSE_DIR}/broadcast
dockerfile: Dockerfile
image: 3lpsy/boucan-broadcast:latest
ports:
- "127.0.0.1:6379:6379"
environment:
- REDIS_PASSWORD=redis
- REDIS_MASTER_HOST=redis
networks:
boucanpub:
restart: on-failure:5
db:
image: postgres:latest
environment:
- POSTGRES_DB=postgrs
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
networks:
boucanpub:
dbui:
image: dpage/pgadmin4
ports:
- "5000:5000"
environment:
- PGADMIN_DEFAULT_EMAIL=admin
- PGADMIN_DEFAULT_PASSWORD=password
- PGADMIN_LISTEN_PORT=5000
networks:
boucanpub:
volumes:
- ${COMPOSE_DIR}/dbui/dev.servers.json:/pgadmin4/servers.json
- ${COMPOSE_DIR}/dbui/dev.pass.txt:/dbpass.txt
logging:
driver: none
networks:
boucanpub:
# Use a custom driver
driver: bridge
ipam:
driver: default
config:
- subnet: 172.28.20.0/24
driver_opts:
com.docker.network.bridge.name: boucanpub0