-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcompose.yaml
More file actions
154 lines (142 loc) · 4.59 KB
/
compose.yaml
File metadata and controls
154 lines (142 loc) · 4.59 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
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
services:
# Traefik Proxy
# HTTPS is used, HTTP is not
# Visit localhost:8080 for the dashboard
hyvor-proxy:
container_name: hyvor-proxy
image: traefik:latest
command:
- "--log.level=WARN"
- "--api.insecure=true"
- "--accesslog=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--providers.docker.network=hyvor-network"
- "--providers.file.fileName=/etc/traefik/tls.toml"
- "--providers.file.watch=true"
- "--entryPoints.http.address=:80"
- "--entryPoints.https.address=:443"
- "tls.options.default.sniStrict=true"
networks:
- hyvor-network
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./meta/compose/traefik:/etc/traefik
hyvor-service-pgsql:
container_name: hyvor-service-pgsql
image: postgres:16.6
restart: always
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
ports:
- "54321:5432"
volumes:
- ./data/pgsql:/var/lib/postgresql/data
- ./meta/compose/pgsql/initdb.d:/docker-entrypoint-initdb.d
networks:
- hyvor-network
# Mailpit for testing emails via SMTP
# Access via: http://mail.localhost
hyvor-service-mailpit:
container_name: hyvor-service-mailpit
image: axllent/mailpit
restart: unless-stopped
volumes:
- ./data/mailpit:/data
# ports:
# - 8025:8025 Web UI
# - 1025:1025 SMTP
environment:
MP_MAX_MESSAGES: 5000
MP_DATABASE: /data/mailpit.db
MP_SMTP_AUTH_ACCEPT_ANY: 1
MP_SMTP_AUTH_ALLOW_INSECURE: 1
networks:
- hyvor-network
labels:
traefik.enable: true
traefik.http.routers.hyvor-service-mailpit.rule: Host(`mailpit.localhost`)
traefik.http.routers.hyvor-service-mailpit.entrypoints: http
traefik.http.services.hyvor-service-mailpit.loadbalancer.server.port: 8025
hyvor-service-seaweedfs:
image: chrislusf/seaweedfs
container_name: hyvor-service-seaweedfs
command: server -s3 -dir=/data
networks:
- hyvor-network
# ports:
# - "8333:8333" # S3 Gateway
# - "9333:9333" # Master UI / API
# - "8888:8888" # Filer UI / API
labels:
traefik.enable: true
traefik.http.routers.hyvor-service-seaweedfs.rule: Host(`seaweedfs.localhost`)
traefik.http.routers.hyvor-service-seaweedfs.entrypoints: http
traefik.http.routers.hyvor-service-seaweedfs.service: hyvor-service-seaweedfs
traefik.http.services.hyvor-service-seaweedfs.loadbalancer.server.port: 9333
volumes:
- ./data/seaweed:/data
### ======== MONITORING SERVICES ======== ###
hyvor-service-grafana:
image: grafana/grafana:latest
container_name: hyvor-service-grafana
restart: always
volumes:
- ./meta/grafana/provisioning:/etc/grafana/provisioning
- ./meta/grafana/dashboards:/etc/grafana/dashboards
- ./meta/grafana/grafana.ini:/etc/grafana/grafana.ini:ro
- grafana_data:/var/lib/grafana
profiles:
- monitoring
networks:
- hyvor-network
labels:
traefik.enable: true
traefik.http.routers.hyvor-service-grafana.rule: Host(`grafana.localhost`)
traefik.http.routers.hyvor-service-grafana.entrypoints: http
traefik.http.services.hyvor-service-grafana.loadbalancer.server.port: 3000
hyvor-service-prometheus:
image: prom/prometheus:latest
container_name: hyvor-service-prometheus
restart: unless-stopped
profiles:
- monitoring
networks:
- hyvor-network
volumes:
- ./meta/prometheus/prometheus.yaml:/etc/prometheus/prometheus.yml
- prometheus_data:/prometheus
labels:
- "traefik.enable=true"
- "traefik.http.routers.prometheus.rule=Host(`prometheus.localhost`)"
- "traefik.http.routers.prometheus.entrypoints=http"
- "traefik.http.services.prometheus.loadbalancer.server.port=9090"
hyvor-service-loki:
image: grafana/loki:latest
container_name: hyvor-service-loki
profiles:
- monitoring
volumes:
- ./meta/loki/loki-config.yaml:/etc/loki/local-config.yaml:ro
- loki_data:/loki
command: -config.file=/etc/loki/local-config.yaml
restart: unless-stopped
networks:
- hyvor-network
labels:
- "traefik.enable=true"
- "traefik.http.routers.loki.rule=Host(`loki.localhost`)"
- "traefik.http.routers.loki.entrypoints=http"
- "traefik.http.services.loki.loadbalancer.server.port=3100"
networks:
hyvor-network:
external: true
volumes:
grafana_data:
prometheus_data:
loki_data: