Compare commits

..

10 commits

9 changed files with 103 additions and 38 deletions

View file

@ -89,7 +89,7 @@ services:
domain: "matrix.{{ base_domain }}" domain: "matrix.{{ base_domain }}"
volume_folder: "{{ volume_root_folder }}/matrix" volume_folder: "{{ volume_root_folder }}/matrix"
pre_deploy_tasks: true pre_deploy_tasks: true
version: v1.90.0 version: v1.98.0
postgres_version: 15-alpine postgres_version: 15-alpine
allowed_sender_domain: true allowed_sender_domain: true
@ -97,7 +97,7 @@ services:
domain: "element.{{ base_domain }}" domain: "element.{{ base_domain }}"
volume_folder: "{{ volume_root_folder }}/element" volume_folder: "{{ volume_root_folder }}/element"
pre_deploy_tasks: true pre_deploy_tasks: true
version: v1.11.43 version: v1.11.51
privatebin: privatebin:
domain: "paste.{{ base_domain }}" domain: "paste.{{ base_domain }}"
@ -156,6 +156,11 @@ services:
- "www.cryptoaarhus.dk" - "www.cryptoaarhus.dk"
volume_folder: "{{ volume_website_folder }}/cryptoaarhus" volume_folder: "{{ volume_website_folder }}/cryptoaarhus"
phanpy_website:
domain: "phanpy.data.coop"
volume_folder: "{{ volume_website_folder }}/phanpy"
version: latest
drone: drone:
domain: "drone.{{ base_domain }}" domain: "drone.{{ base_domain }}"
volume_folder: "{{ volume_root_folder }}/drone" volume_folder: "{{ volume_root_folder }}/drone"
@ -167,7 +172,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

@ -21,12 +21,6 @@
- docker-ce - docker-ce
- docker-compose-plugin - docker-compose-plugin
- name: Create docker-compose symlink
ansible.builtin.file:
name: /usr/local/bin/docker-compose
src: /usr/libexec/docker/cli-plugins/docker-compose
state: link
- name: Configure cron job to prune unused Docker data weekly - name: Configure cron job to prune unused Docker data weekly
cron: cron:
name: Prune unused Docker data name: Prune unused Docker data

View file

@ -19,7 +19,7 @@
- overrides/dovecot - overrides/dovecot
- overrides/postfix - overrides/postfix
- overrides/rspamd - overrides/rspamd
- overrides/rainloop - overrides/snappymail
loop_control: loop_control:
loop_var: volume loop_var: volume

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,11 +64,15 @@ 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"
networks:
default:
aliases:
- admin.mailu
depends_on: depends_on:
- redis - redis
- resolver - resolver
@ -69,7 +81,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 +94,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 +105,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 +140,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

@ -17,7 +17,7 @@ services:
- "./certs:/etc/nginx/certs:ro" - "./certs:/etc/nginx/certs:ro"
- "/var/run/docker.sock:/tmp/docker.sock:ro" - "/var/run/docker.sock:/tmp/docker.sock:ro"
labels: labels:
- com.github.nginx-proxy.nginx - com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy
{% if letsencrypt_enabled %} {% if letsencrypt_enabled %}
acme: acme:

View file

@ -0,0 +1,22 @@
# vim: ft=yaml.docker-compose
version: "3.8"
services:
web:
image: docker.data.coop/unipi:{{ services.phanpy_website.version }}
restart: unless-stopped
networks:
- external_services
environment:
VIRTUAL_HOST: "{{ services.phanpy_website.domain }}"
LETSENCRYPT_HOST: "{{ services.phanpy_website.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
command: --remote=https://git.data.coop/reynir/phanpy.git#production
cap_add:
- NET_ADMIN
devices:
- "/dev/net/tun"
networks:
external_services:
external: true

View file

@ -6,7 +6,9 @@ services:
image: boky/postfix:{{ services.postfix.version }} image: boky/postfix:{{ services.postfix.version }}
restart: always restart: always
networks: networks:
- postfix postfix:
aliases:
- postfix
volumes: volumes:
- "./dkim:/etc/opendkim/keys" - "./dkim:/etc/opendkim/keys"
environment: environment:

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 }}
@ -127,7 +139,7 @@ WEBSITE=https://{{ services.mailu.domain }}
# LOG_DRIVER=json-file # LOG_DRIVER=json-file
# Docker-compose project name, this will prepended to containers names. # Docker-compose project name, this will prepended to containers names.
COMPOSE_PROJECT_NAME=mail_server COMPOSE_PROJECT_NAME=mailu
# Number of rounds used by the password hashing scheme # Number of rounds used by the password hashing scheme
CREDENTIAL_ROUNDS=12 CREDENTIAL_ROUNDS=12
@ -147,12 +159,25 @@ 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=
###################################
# Container address settings
###################################
ADMIN_ADDRESS=admin.mailu
################################### ###################################
# 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