diff --git a/docker-mailserver/14.0.0/data.yml b/docker-mailserver/14.0.0/data.yml new file mode 100644 index 000000000..2ff188a83 --- /dev/null +++ b/docker-mailserver/14.0.0/data.yml @@ -0,0 +1,38 @@ +additionalProperties: + formFields: + - default: "/home/bark" + edit: true + envKey: BARK_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8080 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number + - default: "" + edit: true + envKey: BARK_SERVER_DSN + labelZh: 数据库链接 + labelEn: Database URL + required: false + type: text + - default: "" + edit: true + envKey: BARK_SERVER_BASIC_AUTH_USER + labelZh: 用户名 (服务基础验证) + labelEn: Basic Auth User + required: false + type: text + - default: "" + edit: true + envKey: BARK_SERVER_BASIC_AUTH_PASSWORD + labelZh: 密码 (服务基础验证) + labelEn: Basic Auth Password + required: false + type: text diff --git a/docker-mailserver/14.0.0/docker-compose.yml b/docker-mailserver/14.0.0/docker-compose.yml new file mode 100644 index 000000000..6c4037952 --- /dev/null +++ b/docker-mailserver/14.0.0/docker-compose.yml @@ -0,0 +1,39 @@ +version: "3.8" + +networks: + 1panel-network: + external: true + +services: + mailserver: + image: mailserver/docker-mailserver:14.0.0 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + stop_grace_period: 1m + hostname: ${HOSTNAME_FQDN} + ports: + - ${PANEL_APP_PORT_SMTP}:25 + - ${PANEL_APP_PORT_IMAP}:143 + - ${PANEL_APP_PORT_SMTPS}:465 + - ${PANEL_APP_PORT_ESMTP}:587 + - ${PANEL_APP_PORT_IPAPS}:993 + env_file: + - /etc/1panel/envs/global.env + - /etc/1panel/envs/mailserver/mailserver.env + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - /etc/localtime:/etc/localtime:ro + - ${DOCKER_MAILSERVER_ROOT_PATH}/dms/mail-data/:/var/mail/ + - ${DOCKER_MAILSERVER_ROOT_PATH}/dms/mail-state/:/var/mail-state/ + - ${DOCKER_MAILSERVER_ROOT_PATH}/dms/mail-logs/:/var/log/mail/ + - ${DOCKER_MAILSERVER_ROOT_PATH}/dms/config/:/tmp/docker-mailserver/ + environment: + - + healthcheck: + test: "ss --listening --tcp | grep -P 'LISTEN.+:smtp' || exit 1" + timeout: 3s + retries: 0 diff --git a/docker-mailserver/14.0.0/scripts/init.sh b/docker-mailserver/14.0.0/scripts/init.sh new file mode 100644 index 000000000..77b849120 --- /dev/null +++ b/docker-mailserver/14.0.0/scripts/init.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/docker-mailserver/14.0.0/scripts/uninstall.sh b/docker-mailserver/14.0.0/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/docker-mailserver/14.0.0/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/docker-mailserver/14.0.0/scripts/upgrade.sh b/docker-mailserver/14.0.0/scripts/upgrade.sh new file mode 100644 index 000000000..77b849120 --- /dev/null +++ b/docker-mailserver/14.0.0/scripts/upgrade.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/docker-mailserver/README.md b/docker-mailserver/README.md new file mode 100644 index 000000000..e3530061c --- /dev/null +++ b/docker-mailserver/README.md @@ -0,0 +1,13 @@ +# Docker Mailserver + +docker-mailserver,简称 DMS,是一个可用于生产的全栈但简单的邮件服务器(SMTP、IMAP、LDAP、反垃圾邮件、反病毒等)。它只使用配置文件,不使用 +SQL 数据库。其形象以 "保持简单和版本化 "为口号。 + +## 前置准备 + +- `域名` +- `DNS 解析` +- `服务器` + - `Docker` 服务 + - `推荐配置`: 1核2G内存 容器已启用交换功能 + - `最小配置`: 1核512M内存 (禁用 ClamAV 服务) diff --git a/docker-mailserver/data.yml b/docker-mailserver/data.yml new file mode 100644 index 000000000..c3fcbdb80 --- /dev/null +++ b/docker-mailserver/data.yml @@ -0,0 +1,17 @@ +name: Docker Mailserver +title: 是一个可用于生产的全栈但简单的邮件服务器 +description: 是一个可用于生产的全栈但简单的邮件服务器 +additionalProperties: + key: docker-mailserver + name: Docker Mailserver + tags: + - Email + - Local + shortDescZh: 是一个可用于生产的全栈但简单的邮件服务器 + shortDescEn: A fullstack but simple mail server (smtp, imap, antispam, antivirus, etc.) + type: runtime + crossVersionUpdate: true + limit: 0 + website: https://docker-mailserver.github.io/ + github: https://github.com/docker-mailserver/docker-mailserver/ + document: https://docker-mailserver.github.io/ diff --git a/docker-mailserver/logo.png b/docker-mailserver/logo.png new file mode 100644 index 000000000..eba752a83 Binary files /dev/null and b/docker-mailserver/logo.png differ