@@ -42,6 +42,7 @@ services:
4242 environment :
4343 LANG : C.UTF-8
4444 TZ : UTC
45+ DATABASE_URL : " postgresql://postgres:secret@database/quassel_production"
4546 CORS_ORIGIN : https://test.example.com
4647 SESSION_SECRET : secret
4748 SESSION_SALT : salt
@@ -61,7 +62,7 @@ services:
6162 - " traefik.http.services.backend-http-service.loadbalancer.server.port=3000"
6263
6364 database :
64- image : postgres:17.2 -alpine
65+ image : postgres:17.0 -alpine
6566 restart : unless-stopped
6667 volumes :
6768 - database:/var/lib/postgresql/data
@@ -87,6 +88,25 @@ services:
8788 - " traefik.http.routers.frontend-https-service=frontend-http-service"
8889 - " traefik.http.services.frontend-http-service.loadbalancer.server.port=80"
8990
91+ website :
92+ image : ghcr.io/openscript-ch/quassel-website:latest
93+ restart : unless-stopped
94+ labels :
95+ - " com.centurylinklabs.watchtower.enable=true"
96+ - " traefik.enable=true"
97+ - " traefik.http.middlewares.website-redirect-to-www.redirectregex.regex=^https?://example.com(.*)"
98+ - " traefik.http.middlewares.website-redirect-to-www.redirectregex.replacement=https://www.example.com$${1}"
99+ - " traefik.http.middlewares.website-redirect-to-www.redirectregex.permanent=true"
100+ - " traefik.http.middlewares.website-redirect-to-https.redirectscheme.scheme=https"
101+ - " traefik.http.middlewares.website-redirect-to-https.redirectscheme.permanent=true"
102+ - " traefik.http.routers.website-http.middlewares=website-redirect-to-www,website-redirect-to-https"
103+ - " traefik.http.routers.website-http.rule=Host(`example.com`) || Host(`www.example.com`)"
104+ - " traefik.http.routers.website-http.entrypoints=http"
105+ - " traefik.http.routers.website-https.rule=Host(`www.example.com`)"
106+ - " traefik.http.routers.website-https.entrypoints=https"
107+ - " traefik.http.routers.website-https.tls.certresolver=defaultResolver"
108+ - " traefik.http.services.website-http-service.loadbalancer.server.port=80"
109+
90110 mockup :
91111 image : ghcr.io/openscript-ch/quassel-mockup:latest
92112 restart : unless-stopped
@@ -103,7 +123,7 @@ services:
103123 - " traefik.http.routers.mockup-https-service=mockup-http-service"
104124 - " traefik.http.services.mockup-http-service.loadbalancer.server.port=80"
105125
106- updates :
126+ watchtower :
107127 image : containrrr/watchtower
108128 restart : unless-stopped
109129 volumes :
@@ -120,6 +140,33 @@ services:
120140 image : grafana/agent:v0.43.3
121141 restart : unless-stopped
122142 volumes :
143+ - /var/run/docker.sock:/var/run/docker.sock:ro
123144 - ./grafana-agent.yaml:/etc/grafana-agent.yaml
124145 command :
125146 - --config.file=/etc/grafana-agent.yaml
147+
148+ cadvisor :
149+ image : gcr.io/cadvisor/cadvisor
150+ restart : unless-stopped
151+ volumes :
152+ - /var/run/docker.sock:/var/run/docker.sock:ro
153+ - /sys:/sys:ro
154+ - /var/lib/docker:/var/lib/docker:ro,rslave
155+
156+ node-exporter :
157+ image : prom/node-exporter:latest
158+ restart : unless-stopped
159+ volumes :
160+ - /proc:/host/proc:ro
161+ - /sys:/host/sys:ro
162+ - /:/rootfs:ro,rslave
163+ command :
164+ - --path.procfs=/host/proc
165+ - --path.rootfs=/rootfs
166+ - --path.sysfs=/host/sys
167+ - --collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)
168+ - --no-collector.arp
169+ - --no-collector.btrfs
170+ - --no-collector.infiniband
171+ - --no-collector.xfs
172+ - --no-collector.zfs
0 commit comments