-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
81 lines (75 loc) · 1.72 KB
/
docker-compose.yml
File metadata and controls
81 lines (75 loc) · 1.72 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
services:
pagerank:
build: ./pagerank
ports:
- "8888:3000"
environment:
- GIN_MODE=debug
- GORSE_URL=http://gorse:8088
- GORSE_KEY=
- API_KEY=${API_KEY}
networks:
- cloudflared
- local
redis:
image: redis
restart: unless-stopped
networks:
- local
mysql:
image: mysql/mysql-server
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root_pass
MYSQL_DATABASE: gorse
MYSQL_USER: gorse
MYSQL_PASSWORD: gorse_pass
networks:
- local
gorse:
image: zhenghaoz/gorse-in-one
restart: unless-stopped
ports:
- 8086:8086 # gRPC port
- 8088:8088 # HTTP port
environment:
# Use Redis as cache storage backend.
GORSE_CACHE_STORE: redis://redis:6379
# Use MySQL as data storage backend.
GORSE_DATA_STORE: mysql://gorse:gorse_pass@tcp(mysql:3306)/gorse?parseTime=true
command: >
-c /etc/gorse/config.toml
--log-path /var/log/gorse/master.log
--cache-path /var/lib/gorse/master_cache.data
volumes:
# Mount the configuration file.
- ./config.toml:/etc/gorse/config.toml
depends_on:
- redis
- mysql
networks:
- local
backend:
build: ./backend
ports:
- "3000:3000"
environment:
- DATABASE_URL=${DATABASE_URL}
networks:
- cloudflared
# Zero Trust tunnel
cloudflared:
image: cloudflare/cloudflared
container_name: cloudflared
environment:
- TZ=Asia/Jakarta
- TUNNEL_TOKEN=${TOKEN}
restart: unless-stopped
command: tunnel --no-autoupdate run
networks:
- cloudflared
networks:
cloudflared:
name: cloudflared
local:
name: local