-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose-example.yaml
More file actions
127 lines (119 loc) · 2.93 KB
/
docker-compose-example.yaml
File metadata and controls
127 lines (119 loc) · 2.93 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
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
version: '3.8'
services:
postgres:
image: postgres:latest
container_name: postgres-powerx
environment:
POSTGRES_USER: "powerx"
POSTGRES_PASSWORD: "powerxpwd"
POSTGRES_DB: powerx
volumes:
- ./data/postgres:/var/lib/postgresql/data
ports:
- "5432:5432"
networks:
- powerx-network
healthcheck:
test: ["CMD-SHELL", "pg_isready -U powerx"]
interval: 5s
retries: 5
redis:
image: redis:latest
container_name: redis-powerx
ports:
- "6379:6379"
networks:
- powerx-network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 10s
retries: 5
minio:
image: minio/minio:latest
container_name: minio-powerx
command: server --address :9001 --console-address ":9090" /mnt/data
environment:
MINIO_CONFIG_ENV_FILE: /etc/config.env
volumes:
- ./data/minio:/mnt/data
- ./etc/minio.env:/etc/config.env
ports:
# api port
- "9001:9001"
# console port
- "9090:9090"
networks:
- powerx-network
server:
build:
context: ./
dockerfile: docker/Dockerfile
container_name: server-powerx
volumes:
- ./resource/:/app/resource/
- ./etc/powerx.yaml:/app/etc/powerx.yaml
- ./logs/powerx/:/app/logs/
ports:
- "8888:8888"
networks:
- powerx-network
depends_on:
redis:
condition: service_healthy
postgres:
condition: service_healthy
healthcheck:
test: ["CMD", "nc", "-z", "localhost", "8888"]
interval: 30s
timeout: 10s
retries: 5
dashboard:
build:
context: ./
dockerfile: dashboard/docker/Dockerfile
container_name: dashboard-powerx
volumes:
- ./logs/nginx/server:/var/log/nginx/server
- ./logs/nginx/dashboard:/var/log/nginx/dashboard
- ./dashboard/nginx/servers:/etc/nginx/sites-enabled/
# - ./dashboard/nginx/servers_ssl:/etc/nginx/sites-enabled/
# - ./dashboard/nginx/ssl:/etc/ssl
ports:
- "8080:80"
networks:
- powerx-network
depends_on:
postgres:
condition: service_healthy
server:
condition: service_healthy
web:
build:
context: ./
dockerfile: web/docker/Dockerfile
container_name: web-powerx
volumes:
- ./logs/nginx/server:/var/log/nginx/server
- ./logs/nginx/web:/var/log/nginx/web
- ./web/nginx/servers:/etc/nginx/sites-enabled/
# - ./web/nginx/servers_ssl:/etc/nginx/sites-enabled/
# - ./web/nginx/ssl:/etc/ssl
ports:
- "80:80"
networks:
- powerx-network
depends_on:
postgres:
condition: service_healthy
server:
condition: service_healthy
network-tools:
image: nicolaka/netshoot:latest
container_name: network-tools-powerx
command: sleep infinity
networks:
- powerx-network
networks:
powerx-network:
driver: bridge