Files
kopano-docker/docker-compose.yml
2023-04-05 19:58:58 +00:00

96 lines
2.1 KiB
YAML

# name: kopano
services:
server:
build: ./core
image: core
depends_on:
- mysql
volumes:
- attachments:/var/lib/kopano/attachments
- ./etc-zntrl/kopano:/etc/kopano:ro
command: /usr/sbin/kopano-server
spooler:
image: core
depends_on:
- server
volumes:
- ./etc-zntrl/kopano:/etc/kopano:ro
command: /usr/sbin/kopano-spooler
dagent:
build: ./core
image: core
volumes:
- ./etc-zntrl/kopano:/etc/kopano:ro
depends_on:
- server
command: /usr/sbin/kopano-dagent -l
mysql:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
volumes:
- database:/var/lib/mysql
- ./mysql/etc/mysql:/etc/mysql:ro
- ./mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
ports:
- 3307:3306
webapp:
build: ./webapp
image: webapp
labels:
- traefik.enable=true
- traefik.http.routers.webapp.rule=Host(`$MAIL_DOMAIN`) && PathPrefix(`/webapp`)
- traefik.http.routers.webapp.tls=true
- traefik.http.routers.webapp.tls.certResolver=default
volumes:
- ./etc-zntrl/kopano:/etc/kopano:ro
ports:
- 8080:80
depends_on:
- server
networks:
- default
- traefik
z-push:
build: ./z-push
image: z-push
labels:
- traefik.enable=true
- traefik.http.routers.webapp.rule=Host(`$MAIL_DOMAIN`) && PathPrefix(`/Microsoft-Server-ActiveSync`)
- traefik.http.routers.webapp.tls=true
- traefik.http.routers.webapp.tls.certResolver=default
volumes:
- z-push:/var/lib/z-push
- ./etc-zntrl/z-push:/etc/z-push:ro
ports:
- 8081:80
depends_on:
- server
networks:
- default
- traefik
postfix:
build: ./postfix
image: postfix
ports:
- 8025:25
volumes:
- spool:/var/spool/postfix
- ./etc-zntrl/postfix:/etc/postfix:ro
- ./etc-zntrl/ssl:/etc/ssl:ro
networks:
traefik:
external: true
volumes:
database:
attachments:
z-push:
spool:
# search:
# image: core
# depends_on:
# - db
# - server
# command: /usr/sbin/kopano-search