diff --git a/test/docker_mail/tasks/main.yaml b/test/docker_mail/tasks/main.yaml index cbf172aff85e5d2fbd6ba9267c451c4e5b30ca3f..d813877b1db93b43a96628a4c69fc19874e9b95b 100644 --- a/test/docker_mail/tasks/main.yaml +++ b/test/docker_mail/tasks/main.yaml @@ -8,6 +8,7 @@ - { path: "{{ basedir }}/secrets/mailman_db_pass", length: 28 } - { path: "{{ basedir }}/secrets/mailman_secret_key", length: 28 } - { path: "{{ basedir }}/secrets/mailman_restapi_pass", length: 28 } + - { path: "{{ basedir }}/secrets/mysql_root_pass", length: 28 } # - name: pakete installieren @@ -54,6 +55,7 @@ with_items: - docker-compose.yml - mailu.env + - mailman-nginx.conf # - mailcow-dockerized/mailcow.conf # - mailcow-dockerized/docker-compose.override.yml # - mailcow-dockerized/data/conf/postfix/extra.cf diff --git a/test/docker_mail/templates/docker-compose.yml b/test/docker_mail/templates/docker-compose.yml index bb1eaec53a180974d0cd732b2229fbae124a708b..d1ed434c4fec6f9b2350ca43e02f192eb3801acb 100644 --- a/test/docker_mail/templates/docker-compose.yml +++ b/test/docker_mail/templates/docker-compose.yml @@ -190,7 +190,7 @@ services: volumes: - "{{ basedir }}/mailman-core:/opt/mailman:rw,z" environment: - - DATABASE_URL=postgres://mailman:{{ mailman_db_pass }}@mailman-db/mailmandb + - DATABASE_URL=mysql://mailman:{{ mailman_db_pass }}@mailman-db/mailmandb?charset=utf8mb4 - MTA=postfix - MM_HOSTNAME=mailman-core - SMTP_HOST=postfix @@ -210,7 +210,7 @@ services: volumes: - "{{ basedir }}/mailman-web:/opt/mailman-web-data:rw,z" environment: - - DATABASE_URL=postgres://mailman:{{ mailman_db_pass }}@mailman-db/mailmandb + - DATABASE_URL=mysql://mailman:{{ mailman_db_pass }}@mailman-db/mailmandb?charset=utf8mb4 - HYPERKITTY_API_KEY={{ hyperkitty_api_key }} - SECRET_KEY={{ mailman_secret_key }} - SERVE_FROM_DOMAIN={{ listserver }} @@ -233,23 +233,36 @@ services: networks: - default - # mailman-nginx: - # container_name: mailman-nginx - # image: nginx:1.19 - # restart: always - # depends_on: - # - mailman-web - # volumes: - # - "{{ basedir }}/mailman-web/:/opt/mailman-web-data:ro,z" - # - "{{ basedir }}/mailman-nginx.conf:/etc/nginx/conf.d/default.conf:ro" - # labels: - # - traefik.enable=true - # - traefik.http.routers.{{ servicename }}-mailman.rule=Host(`{{ listserver }}`) - # - traefik.http.routers.{{ servicename }}-mailman.entrypoints=websecure - # - traefik.http.services.{{ servicename }}-mailman.loadbalancer.server.port=80 - # networks: - # - mailman - # - web + mailman-db: + image: mariadb:10.5 + command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci + volumes: + - "{{ basedir }}/mailman-db:/var/lib/mysql" + environment: + - MYSQL_DATABASE=mailmandb + - MYSQL_USER=mailman + - MYSQL_PASSWORD={{ mailman_db_pass }} + - MYSQL_ROOT_PASSWORD={{ mysql_root_pass }} + networks: + - default + + mailman-nginx: + container_name: mailman-nginx + image: nginx:1.19 + restart: always + depends_on: + - mailman-web + volumes: + - "{{ basedir }}/mailman-web/:/opt/mailman-web-data:ro,z" + - "{{ basedir }}/mailman-nginx.conf:/etc/nginx/conf.d/default.conf:ro" + labels: + - traefik.enable=true + - traefik.http.routers.{{ servicename }}-mailman.rule=Host(`{{ listserver }}`) + - traefik.http.routers.{{ servicename }}-mailman.entrypoints=websecure + - traefik.http.services.{{ servicename }}-mailman.loadbalancer.server.port=80 + networks: + - mailman + - web networks: default: diff --git a/test/docker_mail/templates/mailman-nginx.conf b/test/docker_mail/templates/mailman-nginx.conf new file mode 100644 index 0000000000000000000000000000000000000000..408ed688375938830043040f924c927180a82e36 --- /dev/null +++ b/test/docker_mail/templates/mailman-nginx.conf @@ -0,0 +1,25 @@ + +server { + + listen 80; + listen [::]:80; + + server_name listserver.warpzone.ms; + root /dev/null; + index index.html; + + location / { + # First attempt to serve request as file, then + + uwsgi_pass mailman-web:8080; + include uwsgi_params; + uwsgi_read_timeout 300; + } + + location /static { + + root /opt/mailman-web-data; + + } + +} \ No newline at end of file