Merge branch 'feat-test-suite' into feat-setup
commit
928fbb372d
@ -0,0 +1,82 @@
|
||||
# This file is auto-generated by the Mailu configuration wizard.
|
||||
# Please read the documentation before attempting any change.
|
||||
# Generated for compose flavor
|
||||
|
||||
version: '3.6'
|
||||
|
||||
services:
|
||||
|
||||
# External dependencies
|
||||
redis:
|
||||
image: redis:alpine
|
||||
volumes:
|
||||
- "/mailu/redis:/data"
|
||||
|
||||
# Core services
|
||||
front:
|
||||
image: mailu/nginx:master
|
||||
env_file: mailu.env
|
||||
ports:
|
||||
- "127.0.0.1:80:80"
|
||||
- "::1:80:80"
|
||||
- "127.0.0.1:443:443"
|
||||
- "::1:443:443"
|
||||
- "127.0.0.1:25:25"
|
||||
- "::1:25:25"
|
||||
- "127.0.0.1:465:465"
|
||||
- "::1:465:465"
|
||||
- "127.0.0.1:587:587"
|
||||
- "::1:587:587"
|
||||
- "127.0.0.1:110:110"
|
||||
- "::1:110:110"
|
||||
- "127.0.0.1:995:995"
|
||||
- "::1:995:995"
|
||||
- "127.0.0.1:143:143"
|
||||
- "::1:143:143"
|
||||
- "127.0.0.1:993:993"
|
||||
- "::1:993:993"
|
||||
volumes:
|
||||
- "/mailu/certs:/certs"
|
||||
|
||||
|
||||
admin:
|
||||
image: mailu/admin:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/data:/data"
|
||||
- "/mailu/dkim:/dkim"
|
||||
depends_on:
|
||||
- redis
|
||||
|
||||
imap:
|
||||
image: mailu/dovecot:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/mail:/mail"
|
||||
- "/mailu/overrides:/overrides"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
smtp:
|
||||
image: mailu/postfix:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/overrides:/overrides"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
# Optional services
|
||||
antispam:
|
||||
image: mailu/rspamd:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/filter:/var/lib/rspamd"
|
||||
- "/mailu/dkim:/dkim"
|
||||
- "/mailu/overrides/rspamd:/etc/rspamd/override.d"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
|
||||
|
||||
# Webmail
|
||||
|
@ -0,0 +1,77 @@
|
||||
# This file is auto-generated by the Mailu configuration wizard.
|
||||
# Please read the documentation before attempting any change.
|
||||
# Generated for compose flavor
|
||||
|
||||
version: '3.6'
|
||||
|
||||
services:
|
||||
|
||||
# External dependencies
|
||||
redis:
|
||||
image: redis:alpine
|
||||
volumes:
|
||||
- "/mailu/redis:/data"
|
||||
|
||||
# Core services
|
||||
front:
|
||||
image: mailu/nginx:master
|
||||
env_file: mailu.env
|
||||
ports:
|
||||
- "127.0.0.1:80:80"
|
||||
- "::1:80:80"
|
||||
- "127.0.0.1:443:443"
|
||||
- "::1:443:443"
|
||||
- "127.0.0.1:25:25"
|
||||
- "::1:25:25"
|
||||
- "127.0.0.1:465:465"
|
||||
- "::1:465:465"
|
||||
- "127.0.0.1:587:587"
|
||||
- "::1:587:587"
|
||||
- "127.0.0.1:110:110"
|
||||
- "::1:110:110"
|
||||
- "127.0.0.1:995:995"
|
||||
- "::1:995:995"
|
||||
- "127.0.0.1:143:143"
|
||||
- "::1:143:143"
|
||||
- "127.0.0.1:993:993"
|
||||
- "::1:993:993"
|
||||
volumes:
|
||||
- "/mailu/certs:/certs"
|
||||
|
||||
|
||||
admin:
|
||||
image: mailu/admin:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/data:/data"
|
||||
- "/mailu/dkim:/dkim"
|
||||
depends_on:
|
||||
- redis
|
||||
|
||||
imap:
|
||||
image: mailu/dovecot:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/mail:/mail"
|
||||
- "/mailu/overrides:/overrides"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
smtp:
|
||||
image: mailu/postfix:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/overrides:/overrides"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
# Optional services
|
||||
|
||||
|
||||
|
||||
fetchmail:
|
||||
image: mailu/fetchmail:master
|
||||
env_file: mailu.env
|
||||
|
||||
# Webmail
|
||||
|
@ -0,0 +1,119 @@
|
||||
# This file is auto-generated by the Mailu configuration wizard.
|
||||
# Please read the documentation before attempting any change.
|
||||
# Generated for compose flavor
|
||||
|
||||
version: '3.6'
|
||||
|
||||
services:
|
||||
|
||||
# External dependencies
|
||||
redis:
|
||||
image: redis:alpine
|
||||
volumes:
|
||||
- "/mailu/redis:/data"
|
||||
|
||||
# Core services
|
||||
front:
|
||||
image: mailu/nginx:master
|
||||
env_file: mailu.env
|
||||
ports:
|
||||
- "127.0.0.1:80:80"
|
||||
- "::1:80:80"
|
||||
- "127.0.0.1:443:443"
|
||||
- "::1:443:443"
|
||||
- "127.0.0.1:25:25"
|
||||
- "::1:25:25"
|
||||
- "127.0.0.1:465:465"
|
||||
- "::1:465:465"
|
||||
- "127.0.0.1:587:587"
|
||||
- "::1:587:587"
|
||||
- "127.0.0.1:110:110"
|
||||
- "::1:110:110"
|
||||
- "127.0.0.1:995:995"
|
||||
- "::1:995:995"
|
||||
- "127.0.0.1:143:143"
|
||||
- "::1:143:143"
|
||||
- "127.0.0.1:993:993"
|
||||
- "::1:993:993"
|
||||
volumes:
|
||||
- "/mailu/certs:/certs"
|
||||
|
||||
resolver:
|
||||
image: mailu/unbound:master
|
||||
env_file: mailu.env
|
||||
restart: always
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: 192.168.0.254
|
||||
|
||||
admin:
|
||||
image: mailu/admin:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/data:/data"
|
||||
- "/mailu/dkim:/dkim"
|
||||
depends_on:
|
||||
- redis
|
||||
|
||||
imap:
|
||||
image: mailu/dovecot:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/mail:/mail"
|
||||
- "/mailu/overrides:/overrides"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
smtp:
|
||||
image: mailu/postfix:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/overrides:/overrides"
|
||||
depends_on:
|
||||
- front
|
||||
- resolver
|
||||
dns:
|
||||
- 192.168.0.254
|
||||
|
||||
# Optional services
|
||||
antispam:
|
||||
image: mailu/rspamd:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/filter:/var/lib/rspamd"
|
||||
- "/mailu/dkim:/dkim"
|
||||
- "/mailu/overrides/rspamd:/etc/rspamd/override.d"
|
||||
depends_on:
|
||||
- front
|
||||
- resolver
|
||||
dns:
|
||||
- 192.168.0.254
|
||||
|
||||
antivirus:
|
||||
image: mailu/clamav:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/filter:/data"
|
||||
depends_on:
|
||||
- resolver
|
||||
dns:
|
||||
- 192.168.0.254
|
||||
|
||||
|
||||
|
||||
# Webmail
|
||||
webmail:
|
||||
image: mailu/rainloop:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/webmail:/data"
|
||||
depends_on:
|
||||
- imap
|
||||
|
||||
networks:
|
||||
default:
|
||||
driver: bridge
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: 192.168.0.0/24
|
@ -0,0 +1,84 @@
|
||||
# This file is auto-generated by the Mailu configuration wizard.
|
||||
# Please read the documentation before attempting any change.
|
||||
# Generated for compose flavor
|
||||
|
||||
version: '3.6'
|
||||
|
||||
services:
|
||||
|
||||
# External dependencies
|
||||
redis:
|
||||
image: redis:alpine
|
||||
volumes:
|
||||
- "/mailu/redis:/data"
|
||||
|
||||
# Core services
|
||||
front:
|
||||
image: mailu/nginx:master
|
||||
env_file: mailu.env
|
||||
ports:
|
||||
- "127.0.0.1:80:80"
|
||||
- "::1:80:80"
|
||||
- "127.0.0.1:443:443"
|
||||
- "::1:443:443"
|
||||
- "127.0.0.1:25:25"
|
||||
- "::1:25:25"
|
||||
- "127.0.0.1:465:465"
|
||||
- "::1:465:465"
|
||||
- "127.0.0.1:587:587"
|
||||
- "::1:587:587"
|
||||
- "127.0.0.1:110:110"
|
||||
- "::1:110:110"
|
||||
- "127.0.0.1:995:995"
|
||||
- "::1:995:995"
|
||||
- "127.0.0.1:143:143"
|
||||
- "::1:143:143"
|
||||
- "127.0.0.1:993:993"
|
||||
- "::1:993:993"
|
||||
volumes:
|
||||
- "/mailu/certs:/certs"
|
||||
|
||||
|
||||
admin:
|
||||
image: mailu/admin:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/data:/data"
|
||||
- "/mailu/dkim:/dkim"
|
||||
depends_on:
|
||||
- redis
|
||||
|
||||
imap:
|
||||
image: mailu/dovecot:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/mail:/mail"
|
||||
- "/mailu/overrides:/overrides"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
smtp:
|
||||
image: mailu/postfix:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/overrides:/overrides"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
# Optional services
|
||||
|
||||
|
||||
|
||||
|
||||
# Webmail
|
||||
webmail:
|
||||
image: mailu/rainloop:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/webmail:/data"
|
||||
depends_on:
|
||||
- imap
|
||||
- resolver
|
||||
dns:
|
||||
- 192.168.0.254
|
||||
|
@ -0,0 +1,84 @@
|
||||
# This file is auto-generated by the Mailu configuration wizard.
|
||||
# Please read the documentation before attempting any change.
|
||||
# Generated for compose flavor
|
||||
|
||||
version: '3.6'
|
||||
|
||||
services:
|
||||
|
||||
# External dependencies
|
||||
redis:
|
||||
image: redis:alpine
|
||||
volumes:
|
||||
- "/mailu/redis:/data"
|
||||
|
||||
# Core services
|
||||
front:
|
||||
image: mailu/nginx:master
|
||||
env_file: mailu.env
|
||||
ports:
|
||||
- "127.0.0.1:80:80"
|
||||
- "::1:80:80"
|
||||
- "127.0.0.1:443:443"
|
||||
- "::1:443:443"
|
||||
- "127.0.0.1:25:25"
|
||||
- "::1:25:25"
|
||||
- "127.0.0.1:465:465"
|
||||
- "::1:465:465"
|
||||
- "127.0.0.1:587:587"
|
||||
- "::1:587:587"
|
||||
- "127.0.0.1:110:110"
|
||||
- "::1:110:110"
|
||||
- "127.0.0.1:995:995"
|
||||
- "::1:995:995"
|
||||
- "127.0.0.1:143:143"
|
||||
- "::1:143:143"
|
||||
- "127.0.0.1:993:993"
|
||||
- "::1:993:993"
|
||||
volumes:
|
||||
- "/mailu/certs:/certs"
|
||||
|
||||
|
||||
admin:
|
||||
image: mailu/admin:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/data:/data"
|
||||
- "/mailu/dkim:/dkim"
|
||||
depends_on:
|
||||
- redis
|
||||
|
||||
imap:
|
||||
image: mailu/dovecot:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/mail:/mail"
|
||||
- "/mailu/overrides:/overrides"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
smtp:
|
||||
image: mailu/postfix:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/overrides:/overrides"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
# Optional services
|
||||
|
||||
|
||||
|
||||
|
||||
# Webmail
|
||||
webmail:
|
||||
image: mailu/roundcube:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/webmail:/data"
|
||||
depends_on:
|
||||
- imap
|
||||
- resolver
|
||||
dns:
|
||||
- 192.168.0.254
|
||||
|
@ -1,101 +0,0 @@
|
||||
version: '2'
|
||||
|
||||
services:
|
||||
|
||||
front:
|
||||
image: $DOCKER_ORG/nginx:$VERSION
|
||||
restart: 'no'
|
||||
env_file: $PWD/.env
|
||||
logging:
|
||||
driver: $LOG_DRIVER
|
||||
ports:
|
||||
- "$BIND_ADDRESS4:80:80"
|
||||
- "$BIND_ADDRESS4:443:443"
|
||||
- "$BIND_ADDRESS4:110:110"
|
||||
- "$BIND_ADDRESS4:143:143"
|
||||
- "$BIND_ADDRESS4:993:993"
|
||||
- "$BIND_ADDRESS4:995:995"
|
||||
- "$BIND_ADDRESS4:25:25"
|
||||
- "$BIND_ADDRESS4:465:465"
|
||||
- "$BIND_ADDRESS4:587:587"
|
||||
volumes:
|
||||
- "$ROOT/certs:/certs"
|
||||
|
||||
redis:
|
||||
image: redis:alpine
|
||||
restart: 'no'
|
||||
volumes:
|
||||
- "$ROOT/redis:/data"
|
||||
|
||||
imap:
|
||||
image: $DOCKER_ORG/dovecot:$VERSION
|
||||
restart: 'no'
|
||||
env_file: $PWD/.env
|
||||
volumes:
|
||||
- "$ROOT/data:/data"
|
||||
- "$ROOT/mail:/mail"
|
||||
- "$ROOT/overrides:/overrides"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
smtp:
|
||||
image: $DOCKER_ORG/postfix:$VERSION
|
||||
restart: 'no'
|
||||
env_file: $PWD/.env
|
||||
volumes:
|
||||
- "$ROOT/data:/data"
|
||||
- "$ROOT/overrides:/overrides"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
antispam:
|
||||
image: $DOCKER_ORG/rspamd:$VERSION
|
||||
restart: 'no'
|
||||
env_file: $PWD/.env
|
||||
volumes:
|
||||
- "$ROOT/filter:/var/lib/rspamd"
|
||||
- "$ROOT/dkim:/dkim"
|
||||
- "$ROOT/overrides/rspamd:/etc/rspamd/override.d"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
antivirus:
|
||||
image: $DOCKER_ORG/$ANTIVIRUS:$VERSION
|
||||
restart: 'no'
|
||||
env_file: $PWD/.env
|
||||
volumes:
|
||||
- "$ROOT/filter:/data"
|
||||
|
||||
webdav:
|
||||
image: $DOCKER_ORG/$WEBDAV:$VERSION
|
||||
restart: 'no'
|
||||
env_file: $PWD/.env
|
||||
volumes:
|
||||
- "$ROOT/dav:/data"
|
||||
|
||||
admin:
|
||||
image: $DOCKER_ORG/admin:$VERSION
|
||||
restart: 'no'
|
||||
env_file: $PWD/.env
|
||||
volumes:
|
||||
- "$ROOT/data:/data"
|
||||
- "$ROOT/dkim:/dkim"
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
depends_on:
|
||||
- redis
|
||||
|
||||
webmail:
|
||||
image: "$DOCKER_ORG/$WEBMAIL:$VERSION"
|
||||
restart: 'no'
|
||||
env_file: $PWD/.env
|
||||
volumes:
|
||||
- "$ROOT/webmail:/data"
|
||||
depends_on:
|
||||
- imap
|
||||
|
||||
fetchmail:
|
||||
image: $DOCKER_ORG/fetchmail:$VERSION
|
||||
restart: 'no'
|
||||
env_file: $PWD/.env
|
||||
volumes:
|
||||
- "$ROOT/data:/data"
|
@ -0,0 +1,92 @@
|
||||
import sys
|
||||
import os
|
||||
import time
|
||||
import docker
|
||||
from colorama import Fore, Style
|
||||
|
||||
# Declare variables for service name and sleep time
|
||||
test_name=sys.argv[1]
|
||||
timeout=int(sys.argv[2])
|
||||
|
||||
client = docker.APIClient(base_url='unix://var/run/docker.sock')
|
||||
|
||||
containers = []
|
||||
|
||||
# Start up containers
|
||||
def start():
|
||||
os.system("cp mailu.env " + test_name + "/")
|
||||
os.system("docker-compose -f " + test_name + "/" + test_name + ".yml -p $DOCKER_ORG up -d ")
|
||||
|
||||
# Stop containers
|
||||
def stop(exit_code):
|
||||
print_logs()
|
||||
os.system("docker-compose -f " + test_name + "/" + test_name + ".yml -p $DOCKER_ORG down")
|
||||
os.system("rm " + test_name +"/mailu.env")
|
||||
sys.exit(exit_code)
|
||||
|
||||
# Sleep for a defined amount of time
|
||||
def sleep():
|
||||
print(Fore.LIGHTMAGENTA_EX + "Sleeping for " + str(timeout) + "m" + Style.RESET_ALL)
|
||||
time.sleep(timeout*60)
|
||||
|
||||
def health_checks():
|
||||
exit_code = 0
|
||||
#Iterating trough all containers dictionary
|
||||
for container in client.containers(all=True):
|
||||
#Perform "docker container inspect" on container based on container ID and save output to a dictionary
|
||||
container_inspect = client.inspect_container(container['Id']) #Dict
|
||||
|
||||
if "Health" in container_inspect['State'].keys():
|
||||
if container_inspect['State']['Health']['Status'] == "healthy":
|
||||
print(Fore.GREEN + "Health status for " + container_inspect['Name'].replace("/", "") + " : " + Fore.CYAN + container_inspect['State']['Health']['Status'] + Style.RESET_ALL)
|
||||
if container_inspect['State']['Health']['Status'] != "healthy":
|
||||
print(Fore.RED + "Container " + container_inspect['Name'].replace("/", "") + " is " + Fore.YELLOW + container_inspect['State']['Health']['Status']
|
||||
+ Fore.RED + ", FailingStreak: " + Fore.YELLOW + str(container_inspect['State']['Health']['FailingStreak'])
|
||||
+ Fore.RED + ", Log: " + Fore.YELLOW + str(container_inspect['State']['Health']['Log']) + Style.RESET_ALL)
|
||||
exit_code = 1
|
||||
else:
|
||||
if container_inspect['State']['Status'] == "running":
|
||||
print(Fore.GREEN + "Running status for " + container_inspect['Name'].replace("/", "") + " : " + Fore.BLUE + container_inspect['State']['Status'] + Style.RESET_ALL)
|
||||
if container_inspect['State']['Status'] != "running":
|
||||
print(Fore.RED + "Container " + container_inspect['Name'].replace("/", "") + " state is: " + Fore.YELLOW + container_inspect['State']['Status'] + Style.RESET_ALL)
|
||||
exit_code = 1
|
||||
|
||||
#Saving Id, Name and state to a new dictionary
|
||||
containers_dict = {}
|
||||
containers_dict['Name'] = container_inspect['Name'].replace("/", "")
|
||||
containers_dict['Id'] = container_inspect['Id']
|
||||
containers_dict['State'] = container_inspect['State']
|
||||
|
||||
#Adding the generated dictionary to a list
|
||||
containers.append(containers_dict)
|
||||
|
||||
if exit_code != 0:
|
||||
stop(exit_code)
|
||||
|
||||
def print_logs():
|
||||
print("Printing logs ...")
|
||||
#Iterating through docker container inspect list and print logs
|
||||
for container in containers:
|
||||
print(Fore.LIGHTMAGENTA_EX + "Printing logs for: " + Fore.GREEN + container['Name'] + Style.RESET_ALL)
|
||||
os.system('docker container logs ' + container['Name'])
|
||||
|
||||
#Iterating over hooks in test folder and running them
|
||||
def hooks():
|
||||
print("Running hooks")
|
||||
for test_file in sorted(os.listdir(test_name + "/")):
|
||||
if test_file.endswith(".py"):
|
||||
os.system("python3 " + test_name + "/" + test_file)
|
||||
elif test_file.endswith(".sh"):
|
||||
os.system("./" + test_name + "/" + test_file)
|
||||
|
||||
start()
|
||||
print()
|
||||
sleep()
|
||||
print()
|
||||
os.system("docker ps -a")
|
||||
print()
|
||||
health_checks()
|
||||
print()
|
||||
hooks()
|
||||
print()
|
||||
stop(0)
|
@ -0,0 +1,79 @@
|
||||
# This file is auto-generated by the Mailu configuration wizard.
|
||||
# Please read the documentation before attempting any change.
|
||||
# Generated for compose flavor
|
||||
|
||||
version: '3.6'
|
||||
|
||||
services:
|
||||
|
||||
# External dependencies
|
||||
redis:
|
||||
image: redis:alpine
|
||||
volumes:
|
||||
- "/mailu/redis:/data"
|
||||
|
||||
# Core services
|
||||
front:
|
||||
image: mailu/nginx:master
|
||||
env_file: mailu.env
|
||||
ports:
|
||||
- "127.0.0.1:80:80"
|
||||
- "::1:80:80"
|
||||
- "127.0.0.1:443:443"
|
||||
- "::1:443:443"
|
||||
- "127.0.0.1:25:25"
|
||||
- "::1:25:25"
|
||||
- "127.0.0.1:465:465"
|
||||
- "::1:465:465"
|
||||
- "127.0.0.1:587:587"
|
||||
- "::1:587:587"
|
||||
- "127.0.0.1:110:110"
|
||||
- "::1:110:110"
|
||||
- "127.0.0.1:995:995"
|
||||
- "::1:995:995"
|
||||
- "127.0.0.1:143:143"
|
||||
- "::1:143:143"
|
||||
- "127.0.0.1:993:993"
|
||||
- "::1:993:993"
|
||||
volumes:
|
||||
- "/mailu/certs:/certs"
|
||||
|
||||
|
||||
admin:
|
||||
image: mailu/admin:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/data:/data"
|
||||
- "/mailu/dkim:/dkim"
|
||||
depends_on:
|
||||
- redis
|
||||
|
||||
imap:
|
||||
image: mailu/dovecot:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/mail:/mail"
|
||||
- "/mailu/overrides:/overrides"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
smtp:
|
||||
image: mailu/postfix:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/overrides:/overrides"
|
||||
depends_on:
|
||||
- front
|
||||
|
||||
# Optional services
|
||||
|
||||
|
||||
webdav:
|
||||
image: mailu/radicale:master
|
||||
env_file: mailu.env
|
||||
volumes:
|
||||
- "/mailu/dav:/data"
|
||||
|
||||
|
||||
# Webmail
|
||||
|
@ -0,0 +1,2 @@
|
||||
docker
|
||||
colorama
|
Loading…
Reference in New Issue