Upgrade Mailu, close #167

This commit is contained in:
Sam A. 2023-12-10 18:04:50 +01:00
parent c7289b4c5a
commit f627d1cf32
Signed by: samsapti
GPG key ID: CBBBE7371E81C4EA
3 changed files with 58 additions and 26 deletions

View file

@ -167,7 +167,9 @@ services:
pre_deploy_tasks: true pre_deploy_tasks: true
dns: 192.168.203.254 dns: 192.168.203.254
subnet: 192.168.203.0/24 subnet: 192.168.203.0/24
version: "1.9" version: "2.0"
postgres_version: 14-alpine
redis_version: alpine
mastodon: mastodon:
domain: "social.{{ base_domain }}" domain: "social.{{ base_domain }}"

View file

@ -1,10 +1,10 @@
# vim: ft=yaml.docker-compose # vim: ft=yaml.docker-compose
version: '3.6' version: "3.8"
services: services:
postgres: postgres:
image: postgres:14-alpine image: postgres:{{ services.mailu.postgres_version }}
restart: always restart: unless-stopped
environment: environment:
POSTGRES_DB: mailu POSTGRES_DB: mailu
POSTGRES_USER: mailu POSTGRES_USER: mailu
@ -15,8 +15,8 @@ services:
- "{{ services.mailu.dns }}" - "{{ services.mailu.dns }}"
redis: redis:
image: redis:alpine image: redis:{{ services.mailu.redis_version }}
restart: always restart: unless-stopped
volumes: volumes:
- "./redis:/data" - "./redis:/data"
depends_on: depends_on:
@ -26,7 +26,7 @@ services:
front: front:
image: ghcr.io/mailu/nginx:{{ services.mailu.version }} image: ghcr.io/mailu/nginx:{{ services.mailu.version }}
restart: always restart: unless-stopped
env_file: mailu.env env_file: mailu.env
environment: environment:
VIRTUAL_HOST: "{{ services.mailu.domain }}" VIRTUAL_HOST: "{{ services.mailu.domain }}"
@ -38,17 +38,25 @@ services:
expose: expose:
- "80" - "80"
ports: ports:
- "993:993"
- "25:25" - "25:25"
- "587:587"
- "465:465" - "465:465"
- "587:587"
- "110:110"
- "995:995"
- "143:143"
- "993:993"
networks: networks:
- default - default
- webmail
- external_services - external_services
depends_on:
- resolver
dns:
- "{{ services.mailu.dns }}"
resolver: resolver:
image: ghcr.io/mailu/unbound:{{ services.mailu.version }} image: ghcr.io/mailu/unbound:{{ services.mailu.version }}
restart: always restart: unless-stopped
env_file: mailu.env env_file: mailu.env
networks: networks:
default: default:
@ -56,8 +64,8 @@ services:
admin: admin:
image: ghcr.io/mailu/admin:{{ services.mailu.version }} image: ghcr.io/mailu/admin:{{ services.mailu.version }}
restart: always restart: unless-stopped
env_file: "{{ services.mailu.volume_folder }}/mailu.env" env_file: mailu.env
volumes: volumes:
- "./data:/data" - "./data:/data"
- "./dkim:/dkim" - "./dkim:/dkim"
@ -69,7 +77,7 @@ services:
imap: imap:
image: ghcr.io/mailu/dovecot:{{ services.mailu.version }} image: ghcr.io/mailu/dovecot:{{ services.mailu.version }}
restart: always restart: unless-stopped
env_file: mailu.env env_file: mailu.env
volumes: volumes:
- "./mail:/mail" - "./mail:/mail"
@ -82,7 +90,7 @@ services:
smtp: smtp:
image: ghcr.io/mailu/postfix:{{ services.mailu.version }} image: ghcr.io/mailu/postfix:{{ services.mailu.version }}
restart: always restart: unless-stopped
env_file: mailu.env env_file: mailu.env
volumes: volumes:
- "./mailqueue:/queue" - "./mailqueue:/queue"
@ -93,32 +101,33 @@ services:
dns: dns:
- "{{ services.mailu.dns }}" - "{{ services.mailu.dns }}"
antispam: antispam:
image: ghcr.io/mailu/rspamd:{{ services.mailu.version }} image: ghcr.io/mailu/rspamd:{{ services.mailu.version }}
hostname: antispam hostname: antispam
restart: always restart: unless-stopped
env_file: mailu.env env_file: mailu.env
volumes: volumes:
- "./filter:/var/lib/rspamd" - "./filter:/var/lib/rspamd"
- "./overrides/rspamd:/etc/rspamd/override.d:ro" - "./overrides/rspamd:/overrides:ro"
depends_on: depends_on:
- front - front
- redis
- resolver - resolver
dns: dns:
- "{{ services.mailu.dns }}" - "{{ services.mailu.dns }}"
webmail: webmail:
image: ghcr.io/mailu/rainloop:{{ services.mailu.version }} image: ghcr.io/mailu/webmail:{{ services.mailu.version }}
restart: always restart: unless-stopped
env_file: mailu.env env_file: mailu.env
volumes: volumes:
- "./webmail:/data" - "./webmail:/data"
- "./overrides/rainloop:/overrides:ro" - "./overrides/snappymail:/overrides:ro"
networks:
- webmail
depends_on: depends_on:
- imap - front
- resolver
dns:
- "{{ services.mailu.dns }}"
networks: networks:
default: default:
@ -127,5 +136,7 @@ networks:
driver: default driver: default
config: config:
- subnet: "{{ services.mailu.subnet }}" - subnet: "{{ services.mailu.subnet }}"
webmail:
driver: bridge
external_services: external_services:
external: true external: true

View file

@ -43,7 +43,10 @@ DISABLE_STATISTICS=True
ADMIN=true ADMIN=true
# Choose which webmail to run if any (values: roundcube, rainloop, none) # Choose which webmail to run if any (values: roundcube, rainloop, none)
WEBMAIL=rainloop WEBMAIL=snappymail
# Expose the API interface (value: true, false)
API=false
# Dav server implementation (value: radicale, none) # Dav server implementation (value: radicale, none)
WEBDAV=none WEBDAV=none
@ -51,6 +54,9 @@ WEBDAV=none
# Antivirus solution (value: clamav, none) # Antivirus solution (value: clamav, none)
ANTIVIRUS=none ANTIVIRUS=none
# Scan Macros solution (value: true, false)
SCAN_MACROS=false
################################### ###################################
# Mail settings # Mail settings
################################### ###################################
@ -70,6 +76,9 @@ RELAYNETS=
# Will relay all outgoing mails if configured # Will relay all outgoing mails if configured
RELAYHOST= RELAYHOST=
# Enable fetchmail
FETCHMAIL_ENABLED=False
# Fetchmail delay # Fetchmail delay
FETCHMAIL_DELAY=600 FETCHMAIL_DELAY=600
@ -108,11 +117,14 @@ WEB_ADMIN=/admin
# Path to the webmail if enabled # Path to the webmail if enabled
WEB_WEBMAIL=/webmail WEB_WEBMAIL=/webmail
# Path to the API interface if enabled
WEB_API=/api
# Website name # Website name
SITENAME={{ base_domain }} SITENAME={{ base_domain }}
# Linked Website URL # Linked Website URL
WEBSITE=https://{{ services.mailu.domain }} WEBSITE=https://{{ base_domain }}
@ -147,12 +159,19 @@ LOG_LEVEL=WARNING
# Timezone for the Mailu containers. See this link for all possible values https://en.wikipedia.org/wiki/List_of_tz_database_time_zones # Timezone for the Mailu containers. See this link for all possible values https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TZ=Europe/Copenhagen TZ=Europe/Copenhagen
# Default spam threshold used for new users
DEFAULT_SPAM_THRESHOLD=80
# API token required for authenticating to the RESTful API.
# This is a mandatory setting for using the RESTful API.
API_TOKEN=
################################### ###################################
# Database settings # Database settings
################################### ###################################
DB_FLAVOR=postgresql DB_FLAVOR=postgresql
DB_USER=mailu DB_USER=mailu
DB_PW={{ postgres_passwords.mailu }} DB_PW={{ postgres_passwords.mailu }}
DB_HOST=postgres DB_HOST=postgres
DB_NAME=mailu DB_NAME=mailu