Files
kopano-docker/docker-compose.yml
2023-10-24 20:57:44 +00:00

100 lines
2.3 KiB
YAML

# name_prefix: kopano, see COMPOSE_PROJECT_NAME in .env
services:
server:
build: ./core
image: baloan/core
depends_on:
- mysql
ports:
- 236:236
volumes:
- ./etc-zntrl/kopano:/etc/kopano:ro
- attachments:/var/lib/kopano/attachments
command: /usr/sbin/kopano-server
search:
build: ./core
image: baloan/core
depends_on:
- server
volumes:
- ./etc-zntrl/kopano:/etc/kopano:ro
- search:/var/lib/kopano/search
command: /usr/sbin/kopano-search
spooler:
build: ./core
image: baloan/core
depends_on:
- server
volumes:
- ./etc-zntrl/kopano:/etc/kopano:ro
command: /usr/sbin/kopano-spooler
dagent:
build: ./core
image: baloan/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: baloan/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: baloan/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: baloan/postfix
ports:
- 8025:25
volumes:
- spool:/var/spool/postfix
networks:
traefik:
external: true
volumes:
database:
attachments:
search:
z-push:
spool: