From 3c9cae5d06c10e30a06d5ba0200415bcee643f35 Mon Sep 17 00:00:00 2001 From: Ionut Filip Date: Mon, 22 Oct 2018 15:13:18 +0300 Subject: [PATCH] Added replicas variables for core containers - Added back restart: always on compose flavor - Moved Log driver from .env to docker-compose.yml --- setup/flavors/compose/docker-compose.yml | 12 +++++++++ setup/flavors/compose/mailu.env | 2 +- setup/flavors/stack/docker-compose.yml | 11 ++++---- setup/templates/steps/stack/03_expose.html | 3 ++- setup/templates/steps/stack/04_replicas.html | 28 ++++++++++++++++++++ 5 files changed, 49 insertions(+), 7 deletions(-) create mode 100644 setup/templates/steps/stack/04_replicas.html diff --git a/setup/flavors/compose/docker-compose.yml b/setup/flavors/compose/docker-compose.yml index b01bb8fd..daea844e 100644 --- a/setup/flavors/compose/docker-compose.yml +++ b/setup/flavors/compose/docker-compose.yml @@ -10,13 +10,17 @@ services: # External dependencies redis: image: redis:alpine + restart: always volumes: - "{{ root }}/redis:/data" # Core services front: image: mailu/nginx:{{ version }} + restart: always env_file: {{ env }} + logging: + driver: {{ log_driver or 'json-file' }} ports: {% for port in (80, 443, 25, 465, 587, 110, 995, 143, 993) %} {% if bind4 %} @@ -31,6 +35,7 @@ services: admin: image: mailu/admin:{{ version }} + restart: always env_file: {{ env }} {% if not admin_enabled %} ports: @@ -44,6 +49,7 @@ services: imap: image: mailu/dovecot:{{ version }} + restart: always env_file: {{ env }} volumes: - "{{ root }}/mail:/mail" @@ -53,6 +59,7 @@ services: smtp: image: mailu/postfix:{{ version }} + restart: always env_file: {{ env }} volumes: - "{{ root }}/overrides:/overrides" @@ -63,6 +70,7 @@ services: {% if antispam_enabled %} antispam: image: mailu/rspamd:{{ version }} + restart: always env_file: {{ env }} volumes: - "{{ root }}/filter:/var/lib/rspamd" @@ -75,6 +83,7 @@ services: {% if antivirus_enabled %} antivirus: image: mailu/clamav:{{ version }} + restart: always env_file: {{ env }} volumes: - "{{ root }}/filter:/data" @@ -83,6 +92,7 @@ services: {% if webdav_enabled %} webdav: image: mailu/radicale:{{ version }} + restart: always env_file: {{ env }} volumes: - "{{ root }}/dav:/data" @@ -91,6 +101,7 @@ services: {% if fetchmail_enabled %} fetchmail: image: mailu/fetchmail:{{ version }} + restart: always env_file: {{ env }} {% endif %} @@ -98,6 +109,7 @@ services: {% if webmail_type != 'none' %} webmail: image: mailu/{{ webmail_type }}:{{ version }} + restart: always env_file: {{ env }} volumes: - "{{ root }}/webmail:/data" diff --git a/setup/flavors/compose/mailu.env b/setup/flavors/compose/mailu.env index 9fc1197d..9433ecce 100644 --- a/setup/flavors/compose/mailu.env +++ b/setup/flavors/compose/mailu.env @@ -138,7 +138,7 @@ DOMAIN_REGISTRATION=true # json-file (default) # journald (On systemd platforms, useful for Fail2Ban integration) # syslog (Non systemd platforms, Fail2Ban integration. Disables `docker-compose log` for front!) -LOG_DRIVER={{ log_driver or 'json-file' }} +# LOG_DRIVER={{ log_driver or 'json-file' }} # Docker-compose project name, this will prepended to containers names. COMPOSE_PROJECT_NAME={{ compose_project_name or 'mailu' }} diff --git a/setup/flavors/stack/docker-compose.yml b/setup/flavors/stack/docker-compose.yml index f27b661f..728135d5 100644 --- a/setup/flavors/stack/docker-compose.yml +++ b/setup/flavors/stack/docker-compose.yml @@ -10,7 +10,6 @@ services: # External dependencies redis: image: redis:alpine - restart: always volumes: - "{{ root }}/redis:/data" @@ -18,6 +17,8 @@ services: front: image: mailu/nginx:{{ version }} env_file: {{ env }} + logging: + driver: {{ log_driver or 'json-file' }} ports: {% for port in (80, 443, 25, 465, 587, 110, 995, 143, 993) %} - target: {{ port }} @@ -27,7 +28,7 @@ services: volumes: - "{{ root }}/certs:/certs" deploy: - replicas: 1 + replicas: {{ front_replicas }} admin: image: mailu/admin:{{ version }} @@ -40,7 +41,7 @@ services: - "{{ root }}/data:/data" - "{{ root }}/dkim:/dkim" deploy: - replicas: 1 + replicas: {{ admin_replicas }} imap: image: mailu/dovecot:{{ version }} @@ -52,7 +53,7 @@ services: - "{{ root }}/mail:/mail" - "{{ root }}/overrides:/overrides" deploy: - replicas: 1 + replicas: {{ imap_replicas }} smtp: image: mailu/postfix:{{ version }} @@ -62,7 +63,7 @@ services: volumes: - "{{ root }}/overrides:/overrides" deploy: - replicas: 1 + replicas: {{ smtp_replicas }} # Optional services {% if antispam_enabled %} diff --git a/setup/templates/steps/stack/03_expose.html b/setup/templates/steps/stack/03_expose.html index a9cffc1c..bb61a35c 100644 --- a/setup/templates/steps/stack/03_expose.html +++ b/setup/templates/steps/stack/03_expose.html @@ -5,7 +5,8 @@ you expose it to the world.

- +

You server will be available under a main hostname but may expose multiple public diff --git a/setup/templates/steps/stack/04_replicas.html b/setup/templates/steps/stack/04_replicas.html new file mode 100644 index 00000000..785125cc --- /dev/null +++ b/setup/templates/steps/stack/04_replicas.html @@ -0,0 +1,28 @@ +{% call macros.panel("info", "Step 5 - Number of replicas for containers") %} +

Select number of replicas for containers

+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +{% endcall %} \ No newline at end of file