-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdocker-compose.yml
135 lines (133 loc) · 3.58 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
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
version: "2"
services:
postgres:
restart: always
image: postgres:9.6
container_name: qdice_postgres
environment:
POSTGRES_DB: "nodice"
POSTGRES_USER: "bgrosse"
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- ./postgres:/docker-entrypoint-initdb.d/
- ./data/postgres:/var/lib/postgresql/data
redis:
restart: always
image: redis:5.0.9-alpine
container_name: redis
volumes:
- ./data/redis:/data
- ./redis/redis.conf:/usr/local/etc/redis/redis.conf
entrypoint: redis-server --appendonly yes
logging:
options:
max-size: 10m
emqx:
restart: always
image: emqx/emqx:v3.2.8
container_name: emqx
environment:
EMQX_LOADED_PLUGINS: "emqx_management,emqx_auth_username,emqx_recon,emqx_retainer,emqx_dashboard"
EMQX_DASHBOARD__DEFAULT_USER__PASSWORD: ${EMQX_DASHBOARD_PASSWORD}
EMQX_AUTH__USER__1__USERNAME: ${MQTT_USERNAME}
EMQX_AUTH__USER__1__PASSWORD: ${MQTT_PASSWORD}
volumes:
- ./acl.conf:/opt/emqx/etc/acl.conf
nodice:
restart: always
image: bgrosse/qdice:backend
container_name: nodice
env_file: .env
volumes:
- ${AVATAR_PATH}:${AVATAR_PATH}
depends_on:
- postgres
- emqx
logging:
options:
max-size: 10m
beancounter:
restart: always
image: bgrosse/qdice:beancounter
container_name: beancounter
env_file: .env
logging:
options:
max-size: 10m
nginx:
restart: always
env_file: .env
image: bgrosse/qdice:frontend
container_name: nginx
volumes:
- ./data/certbot/conf:/etc/letsencrypt
- ./data/certbot/www:/var/www/certbot
- ./data/dhparam:/etc/ssl/certs # sudo openssl dhparam -out /home/sammy/node_project/dhparam/dhparam-2048.pem 2048
- ${AVATAR_PATH}:/var/www/qdice.wtf/pictures:ro
- ./data/logs/nginx:/var/log/nginx
- goaccess:/var/www/goaccess:ro
matrix:
image: matrixdotorg/synapse
container_name: matrix
restart: always
volumes:
- ./matrix:/config
- ./data/matrix:/data
environment:
- SYNAPSE_CONFIG_DIR=/config
logging:
options:
max-size: 10m
goaccess:
image: allinurl/goaccess
container_name: goaccess
restart: always
volumes:
- ./data/goaccess/goaccess.conf:/srv/data/goaccess.conf:ro
- goaccess:/srv/report:rw
- ./data/logs/nginx:/srv/logs:ro
command: "--no-global-config --config-file=/srv/data/goaccess.conf"
cap_drop:
- all
logging:
options:
max-size: 10m
haproxy:
image: ghcr.io/tomdess/docker-haproxy-certbot:master
container_name: haproxy
ports:
- "80:80"
- "443:443"
- "8448:8448" # matrix federation
volumes:
- ./data/haproxy/letsencrypt:/etc/letsencrypt
- ./haproxy/haproxy.cfg:/etc/haproxy/haproxy.cfg
environment:
- CERT1=qdice.wtf, chat.qdice.wtf, conference.qdice.wtf, pubsub.qdice.wtf, upload.qdice.wtf, matrix.qdice.wtf
- STAGING=false
smtp:
image: bambucha/exim-relay
container_name: smtp
hostname: qdice.wtf
volumes:
- smtp-dkim:/dkim
environment:
- DKIM_KEY_SIZE=1024
- DKIM_SELECTOR=dkim
- DKIM_SIGN_HEADERS=Date:From:To:Subject:Message-ID
- DKIM_DOMAINS=qdice.wtf
logging:
options:
max-size: 10m
volumes:
goaccess:
smtp-dkim:
driver: local
# networks:
# qdice:
# enable_ipv6: true
# ipam:
# config:
# - subnet: "2a03:b0c0:2:d0::28:7001/64"
# "fd12:3456:789a:1::/64"