-
Notifications
You must be signed in to change notification settings - Fork 11
/
docker-compose.yml
103 lines (98 loc) · 3.69 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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
version: "3.8"
networks:
internal_network:
driver: bridge # the default
services:
proxy:
container_name: ${MTT_SITE_PROXY_CONTAINER_NAME:-PROXY}
image: caddy:2.6.4
depends_on:
- minttersite
ports:
- "80:80"
- "443:443"
- "443:443/udp"
restart: unless-stopped
networks:
- internal_network
environment:
- "MTT_SITE_HOSTNAME=${MTT_SITE_HOSTNAME:-http://nextjs}"
- "MTT_SITE_BACKEND_GRPCWEB_PORT=${MTT_SITE_BACKEND_GRPCWEB_PORT:-56001}"
- "MTT_SITE_LOCAL_PORT=${MTT_SITE_LOCAL_PORT:-3000}"
volumes:
- ${MTT_SITE_WORKSPACE:-~/.mtt-site}/proxy/data:/data
- ${MTT_SITE_WORKSPACE:-~/.mtt-site}/proxy/config:/config
- ${MTT_SITE_WORKSPACE:-~/.mtt-site}/proxy/CaddyFile:/etc/caddy/Caddyfile
nextjs:
container_name: ${MTT_SITE_NEXTJS_CONTAINER_NAME:-nextjs}
image: mintter/sitegw:${MTT_SITE_TAG:-latest}
depends_on:
- minttersite
networks:
- internal_network
restart: unless-stopped
volumes:
- ${MTT_SITE_WORKSPACE:-~/.mtt-site}/nextjs:/data:rw
environment:
- "HM_BASE_URL=${MTT_SITE_HOSTNAME:-http://nextjs}"
- "GRPC_HOST=http://minttersite:${MTT_SITE_BACKEND_GRPCWEB_PORT:-56001}"
- "NEXT_PUBLIC_LN_HOST=${MTT_SITE_LN_HOST:-https://ln.mintter.com}"
minttersite:
image: mintter/mintter-site:${MTT_SITE_TAG:-latest}
restart: unless-stopped
container_name: ${MTT_SITE_DAEMON_CONTAINER_NAME:-minttersite}
ports:
- "56000:56000"
- "56000:56000/udp"
networks:
- internal_network
environment:
- "SENTRY_DSN=${MTT_SITE_SENTRY_DSN:-https://47c66bd7a6d64db68a59c03f2337e475@o4504088793841664.ingest.sentry.io/4505527493328896}"
volumes:
- ${MTT_SITE_WORKSPACE:-~/.mtt-site}/backend:/.mtt-site:rw
- ${MTT_SITE_MONITORING_WORKDIR:-./monitoring}/grafana:/exported_grafana:rw
- ${MTT_SITE_MONITORING_WORKDIR:-./monitoring}/prometheus:/exported_prometheus:rw
command: >
sh -c "rsync -a /monitoring/prometheus/ /exported_prometheus &&
rsync -a /monitoring/grafana/ /exported_grafana &&
mintter-site -data-dir=/.mtt-site -lndhub.mainnet -p2p.port=56000 --http.port=${MTT_SITE_BACKEND_GRPCWEB_PORT:-56001} -syncing.allow-push=${MTT_SITE_ALLOW_PUSH:-false} -grpc.port=56002 -syncing.no-discovery=${MTT_SITE_NO_DISCOVERY:-true} -syncing.no-pull=${MTT_SITE_NO_PULL:-true} ${MTT_SITE_HOSTNAME:-http://nextjs}"
prometheus:
image: prom/prometheus:latest
restart: unless-stopped
container_name: prometheus
profiles:
- metrics
depends_on:
- minttersite
networks:
- internal_network
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- prometheus-data:/prometheus
- ${MTT_SITE_MONITORING_WORKDIR:-./monitoring}/prometheus/prometheus.yaml:/etc/prometheus/prometheus.yml:ro
grafana:
image: grafana/grafana:main
restart: unless-stopped
container_name: grafana
depends_on:
- prometheus
profiles:
- metrics
networks:
- internal_network
volumes:
- grafana-data:/var/lib/grafana
- ${MTT_SITE_MONITORING_WORKDIR:-./monitoring}/grafana/dashboards:/etc/grafana/dashboards:ro
- ${MTT_SITE_MONITORING_WORKDIR:-./monitoring}/grafana/provisioning:/etc/grafana/provisioning:ro
environment:
GF_LOG_MODE: console
GF_PATHS_PROVISIONING: "/etc/grafana/provisioning"
GF_SERVER_HTTP_PORT: ${MTT_SITE_MONITORING_PORT:-3001}
GF_SERVER_PROTOCOL: "http"
GF_SERVER_DOMAIN: ${MTT_SITE_DNS:-localhost:3001}
GF_SERVER_ROOT_URL: ${MTT_SITE_HOSTNAME:-http://localhost}/.metrics
GF_SERVER_SERVE_FROM_SUB_PATH: True
volumes:
grafana-data: {}
prometheus-data: {}