Loading .gitlab-ci.yml +67 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,73 @@ deploy-grafana-pro: - master when: manual deploy-mail-server-dev: stage: deploy variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${DEV_SSH_REMOTE} COMPOSE_FILE: docker-compose.${SERVICE}.tmpl.yml:docker-compose.${SERVICE}.dev.yml services: - docker:dind script: - create-nets.sh mail-net - export DEPLOY_DIR_NAME=mail/mariadb SERVICE=mariadb IMAGE_TAG=10.2 - > deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD} MYSQL_PASSWORD=${DB_PASSWORD} - export DEPLOY_DIR_NAME=mail/redis SERVICE=redis IMAGE_TAG=4.0-alpine - deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} - export DEPLOY_DIR_NAME=mail/mailserver SERVICE=mailserver IMAGE_TAG=1.1-latest - > deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} RSPAMD_PASSWORD=${RSPAMD_PASSWORD} DBPASS=${DB_PASSWORD} environment: name: dev/rspamd url: https://spam.${DEV_PUBLIC_HOSTNAME} only: - dev when: manual deploy-mail-admin-dev: stage: deploy variables: DOCKER_DRIVER: overlay2 DEPLOY_DIR_NAME: mail/postfixadmin SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICE: postfixadmin IMAGE_TAG: latest COMPOSE_FILE: docker-compose.${SERVICE}.tmpl.yml:docker-compose.${SERVICE}.dev.yml services: - docker:dind script: - deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} DBPASS=${DB_PASSWORD} environment: name: dev/${SERVICE} url: https://${SERVICE}.${DEV_PUBLIC_HOSTNAME} only: - dev when: manual deploy-mail-client-dev: stage: deploy variables: DOCKER_DRIVER: overlay2 DEPLOY_DIR_NAME: mail/rainloop SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICE: rainloop IMAGE_TAG: latest COMPOSE_FILE: docker-compose.${SERVICE}.tmpl.yml:docker-compose.${SERVICE}.dev.yml services: - docker:dind script: - deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} environment: name: dev/${SERVICE} url: https://webmail.${DEV_PUBLIC_HOSTNAME} only: - dev when: manual deploy-pgadmin-dev: stage: deploy variables: Loading mail/mailserver/.env 0 → 100644 +3 −0 Original line number Diff line number Diff line RSPAMD_PORT=11334 RSPAMD_PASSWORD=rspamd DBPASS=db mail/mailserver/docker-compose.mailserver.dev.yml 0 → 100644 +20 −0 Original line number Diff line number Diff line version: '3.5' services: mailserver: container_name: email-server restart: on-failure:3 ports: - 25:25 # SMTP - Required # - 110:110 # POP3 STARTTLS - Optional - For webmails/desktop clients - 143:143 # IMAP STARTTLS - Optional - For webmails/desktop clients # - 465:465 # SMTPS SSL/TLS - Optional - Enabled for compatibility reason, otherwise disabled - 587:587 # Submission STARTTLS - Optional - For webmails/desktop clients - 993:993 # IMAPS SSL/TLS - Optional - For webmails/desktop clients # - 995:995 # POP3S SSL/TLS - Optional - For webmails/desktop clients - 4190:4190 # SIEVE STARTTLS - Optional - Recommended for mail filtering - ${RSPAMD_PORT}:${RSPAMD_PORT} volumes: mailserver-vol: name: mailserver-vol mail/mailserver/docker-compose.mailserver.tmpl.yml 0 → 100644 +29 −0 Original line number Diff line number Diff line version: '3.5' services: mailserver: image: hardware/mailserver:${IMAGE_TAG:-latest} domainname: redmic.es # Mail server A/MX/FQDN & reverse PTR = mail.domain.tld. hostname: mail networks: - mail-net volumes: - mailserver-vol:/var/mail - /etc/letsencrypt:/etc/letsencrypt environment: - DBPASS # MariaDB database password (required) - RSPAMD_PASSWORD # Rspamd WebUI password (required) # - ADD_DOMAINS=aa.tld, www.bb.tld... # Add additional domains separated by commas (needed for dkim keys etc.) # - ENABLE_POP3=true # Enable POP3 protocol # - ENABLE_FETCHMAIL=true # Enable fetchmail forwarding # - DISABLE_CLAMAV=true # Disable virus scanning # - DISABLE_SIGNING=true # Disable DKIM/ARC signing # - DISABLE_GREYLISTING=true # Disable greylisting policy # - DISABLE_RATELIMITING=true # Disable ratelimiting policy # # Full list : https://github.com/hardware/mailserver#environment-variables # networks: mail-net: external: true mail/mariadb/.env 0 → 100644 +2 −0 Original line number Diff line number Diff line MYSQL_ROOT_PASSWORD=password MYSQL_PASSWORD=password Loading
.gitlab-ci.yml +67 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,73 @@ deploy-grafana-pro: - master when: manual deploy-mail-server-dev: stage: deploy variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${DEV_SSH_REMOTE} COMPOSE_FILE: docker-compose.${SERVICE}.tmpl.yml:docker-compose.${SERVICE}.dev.yml services: - docker:dind script: - create-nets.sh mail-net - export DEPLOY_DIR_NAME=mail/mariadb SERVICE=mariadb IMAGE_TAG=10.2 - > deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD} MYSQL_PASSWORD=${DB_PASSWORD} - export DEPLOY_DIR_NAME=mail/redis SERVICE=redis IMAGE_TAG=4.0-alpine - deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} - export DEPLOY_DIR_NAME=mail/mailserver SERVICE=mailserver IMAGE_TAG=1.1-latest - > deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} RSPAMD_PASSWORD=${RSPAMD_PASSWORD} DBPASS=${DB_PASSWORD} environment: name: dev/rspamd url: https://spam.${DEV_PUBLIC_HOSTNAME} only: - dev when: manual deploy-mail-admin-dev: stage: deploy variables: DOCKER_DRIVER: overlay2 DEPLOY_DIR_NAME: mail/postfixadmin SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICE: postfixadmin IMAGE_TAG: latest COMPOSE_FILE: docker-compose.${SERVICE}.tmpl.yml:docker-compose.${SERVICE}.dev.yml services: - docker:dind script: - deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} DBPASS=${DB_PASSWORD} environment: name: dev/${SERVICE} url: https://${SERVICE}.${DEV_PUBLIC_HOSTNAME} only: - dev when: manual deploy-mail-client-dev: stage: deploy variables: DOCKER_DRIVER: overlay2 DEPLOY_DIR_NAME: mail/rainloop SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICE: rainloop IMAGE_TAG: latest COMPOSE_FILE: docker-compose.${SERVICE}.tmpl.yml:docker-compose.${SERVICE}.dev.yml services: - docker:dind script: - deploy.sh IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} environment: name: dev/${SERVICE} url: https://webmail.${DEV_PUBLIC_HOSTNAME} only: - dev when: manual deploy-pgadmin-dev: stage: deploy variables: Loading
mail/mailserver/.env 0 → 100644 +3 −0 Original line number Diff line number Diff line RSPAMD_PORT=11334 RSPAMD_PASSWORD=rspamd DBPASS=db
mail/mailserver/docker-compose.mailserver.dev.yml 0 → 100644 +20 −0 Original line number Diff line number Diff line version: '3.5' services: mailserver: container_name: email-server restart: on-failure:3 ports: - 25:25 # SMTP - Required # - 110:110 # POP3 STARTTLS - Optional - For webmails/desktop clients - 143:143 # IMAP STARTTLS - Optional - For webmails/desktop clients # - 465:465 # SMTPS SSL/TLS - Optional - Enabled for compatibility reason, otherwise disabled - 587:587 # Submission STARTTLS - Optional - For webmails/desktop clients - 993:993 # IMAPS SSL/TLS - Optional - For webmails/desktop clients # - 995:995 # POP3S SSL/TLS - Optional - For webmails/desktop clients - 4190:4190 # SIEVE STARTTLS - Optional - Recommended for mail filtering - ${RSPAMD_PORT}:${RSPAMD_PORT} volumes: mailserver-vol: name: mailserver-vol
mail/mailserver/docker-compose.mailserver.tmpl.yml 0 → 100644 +29 −0 Original line number Diff line number Diff line version: '3.5' services: mailserver: image: hardware/mailserver:${IMAGE_TAG:-latest} domainname: redmic.es # Mail server A/MX/FQDN & reverse PTR = mail.domain.tld. hostname: mail networks: - mail-net volumes: - mailserver-vol:/var/mail - /etc/letsencrypt:/etc/letsencrypt environment: - DBPASS # MariaDB database password (required) - RSPAMD_PASSWORD # Rspamd WebUI password (required) # - ADD_DOMAINS=aa.tld, www.bb.tld... # Add additional domains separated by commas (needed for dkim keys etc.) # - ENABLE_POP3=true # Enable POP3 protocol # - ENABLE_FETCHMAIL=true # Enable fetchmail forwarding # - DISABLE_CLAMAV=true # Disable virus scanning # - DISABLE_SIGNING=true # Disable DKIM/ARC signing # - DISABLE_GREYLISTING=true # Disable greylisting policy # - DISABLE_RATELIMITING=true # Disable ratelimiting policy # # Full list : https://github.com/hardware/mailserver#environment-variables # networks: mail-net: external: true
mail/mariadb/.env 0 → 100644 +2 −0 Original line number Diff line number Diff line MYSQL_ROOT_PASSWORD=password MYSQL_PASSWORD=password