ansible-role-docker_roundcube/templates/docker-compose.yml

55 lines
2 KiB
YAML

# {{ ansible_managed }}
version: '3.3'
services:
roundcubemail:
image: roundcube/roundcubemail:{{ docker_roundcube_version }}
restart: always
depends_on:
- roundcubedb
links:
- roundcubedb
volumes:
- {{ docker_roundcube_data_dir }}/{{ docker_roundcube_service_id }}/roundcube_www:/var/www/html
- ./config/:/var/roundcube/config/
- ./php.ini:/usr/local/etc/php/php.ini
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik"
- "traefik.http.routers.{{ docker_roundcube_service_id }}.entrypoints=web"
- "traefik.http.routers.{{ docker_roundcube_service_id }}.rule=Host(`{{ docker_roundcube_fqdn }}`)"
- "traefik.http.services.{{ docker_roundcube_service_id }}.loadbalancer.server.port=80"
networks:
- roundcube
- traefik
environment:
- ROUNDCUBEMAIL_DB_TYPE=pgsql
- ROUNDCUBEMAIL_DB_HOST=roundcubedb
- ROUNDCUBEMAIL_DB_NAME={{ docker_roundcube_db_name }}
- ROUNDCUBEMAIL_DB_USER={{ docker_roundcube_db_user }}
- ROUNDCUBEMAIL_DB_PASSWORD={{ docker_roundcube_db_password }}
- ROUNDCUBEMAIL_SKIN=elastic
- ROUNDCUBEMAIL_DEFAULT_HOST=ssl://{{ docker_roundcube_mail_server }}
- ROUNDCUBEMAIL_SMTP_SERVER=tls://{{ docker_roundcube_mail_server }}
- ROUNDCUBEMAIL_UPLOAD_MAX_FILESIZE={{ docker_roundcube_maxfilesize }}
- ROUNDCUBEMAIL_PLUGINS={{ docker_roundcube_plugins }}
- ROUNDCUBEMAIL_ASPELL_DICTS={{ docker_roundcube_aspell_dicts }}
roundcubedb:
image: postgres:13
restart: always
volumes:
- /etc/timezone:/etc/timezone
- {{ docker_roundcube_data_dir }}/{{ docker_roundcube_service_id }}/roundcube_db/postgres:/var/lib/postgresql/data
networks:
- roundcube
environment:
- POSTGRES_DB={{ docker_roundcube_db_name }}
- POSTGRES_USER={{ docker_roundcube_db_user }}
- POSTGRES_PASSWORD={{ docker_roundcube_db_password }}
networks:
traefik:
external: true
roundcube:
internal: true