mailcow
This commit is contained in:
parent
5beefc8a12
commit
2f11025445
|
|
@ -0,0 +1,65 @@
|
||||||
|
version: '2.1'
|
||||||
|
|
||||||
|
services:
|
||||||
|
nginx-mailcow:
|
||||||
|
networks:
|
||||||
|
web:
|
||||||
|
labels:
|
||||||
|
# - traefik.enable=true
|
||||||
|
# Erstellt einen Router namens "moo" für den Container und richtet eine Regel ein, um den Container mit einer bestimmten Regel zu verknüpfen,
|
||||||
|
# in diesem Fall eine Host-Regel mit unserer MAILCOW_HOSTNAME-Variable.
|
||||||
|
# - traefik.http.routers.moo.rule=Host(`${MAILCOW_HOSTNAME}`)
|
||||||
|
# Aktiviert tls über den zuvor erstellten Router.
|
||||||
|
# - traefik.http.routers.moo.tls=true
|
||||||
|
# Gibt an, welche Art von Cert-Resolver wir verwenden werden, in diesem Fall le (Lets Encrypt).
|
||||||
|
# - traefik.http.routers.moo.tls.certresolver=le
|
||||||
|
# Erzeugt einen Dienst namens "moo" für den Container und gibt an, welchen internen Port des Containers
|
||||||
|
# Traefik die eingehenden Daten weiterleiten soll.
|
||||||
|
# - traefik.http.services.moo.loadbalancer.server.port=${HTTP_PORT}
|
||||||
|
# Gibt an, welchen Eingangspunkt (externer Port) traefik für diesen Container abhören soll.
|
||||||
|
# Websecure ist Port 443, siehe die Datei traefik.toml wie oben.
|
||||||
|
# - traefik.http.routers.moo.entrypoints=websecure
|
||||||
|
# Stellen Sie sicher, dass traefik das Web-Netzwerk verwendet, nicht das mailcowdockerized_mailcow-network
|
||||||
|
# - traefik.docker.network=traefik_web
|
||||||
|
# CH neue Zeilen: das oben habe ich nicht kapiert, also mal das ausprobiert was bei gitea geklappt hat
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.middlewares.moo-redirect-websecure.redirectscheme.scheme=https
|
||||||
|
- traefik.http.routers.moo-web.rule=Host(`${MAILCOW_HOSTNAME}`)
|
||||||
|
- traefik.http.routers.moo-web.entrypoints=web
|
||||||
|
- traefik.http.routers.moo-web.middlewares=moo-redirect-websecure
|
||||||
|
- traefik.http.routers.moo-websecure.entrypoints=websecure
|
||||||
|
- traefik.http.routers.moo-websecure.rule=Host(`${MAILCOW_HOSTNAME}`)
|
||||||
|
- traefik.tags= traefik-public
|
||||||
|
- traefik.docker.network=traefik-public
|
||||||
|
- traefik.http.routers.moo-websecure.tls=true
|
||||||
|
- traefik.http.routers.moo-websecure.tls.certresolver=myresolver
|
||||||
|
- traefik.http.services.moo-global.loadbalancer.server.port=${HTTP_PORT}
|
||||||
|
|
||||||
|
certdumper:
|
||||||
|
image: ghcr.io/kereis/traefik-certs-dumper
|
||||||
|
command: --restart-containers ${COMPOSE_PROJECT_NAME}-postfix-mailcow-1,${COMPOSE_PROJECT_NAME}-nginx-mailcow-1,${COMPOSE_PROJECT_NAME}-dovecot-mailcow-1
|
||||||
|
network_mode: none
|
||||||
|
volumes:
|
||||||
|
# Binden Sie das Volume, das Traefiks `acme.json' Datei enthält, ein
|
||||||
|
- acme:/traefik:ro
|
||||||
|
# SSL-Ordner von mailcow einhängen
|
||||||
|
- ./data/assets/ssl/:/output:rw
|
||||||
|
# Binden Sie den Docker Socket ein, damit traefik-certs-dumper die Container neu starten kann
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
# Ändern Sie dies nur, wenn Sie eine andere Domain für mailcows Web-Frontend verwenden als in der Standard-Konfiguration
|
||||||
|
- DOMAIN=${MAILCOW_HOSTNAME}
|
||||||
|
|
||||||
|
networks:
|
||||||
|
web:
|
||||||
|
external: true
|
||||||
|
# Name des externen Netzwerks
|
||||||
|
name: traefik-public
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
acme:
|
||||||
|
external: true
|
||||||
|
# Name des externen Docker Volumes, welches Traefiks `acme.json' Datei enthält
|
||||||
|
name: global_letsencrypt
|
||||||
|
|
||||||
Loading…
Reference in New Issue