diff --git a/.github/workflows/forsaken-mail.yml b/.github/workflows/forsaken-mail.yml new file mode 100644 index 0000000..e6fd4e4 --- /dev/null +++ b/.github/workflows/forsaken-mail.yml @@ -0,0 +1,37 @@ +name: "forsaken-mail docker build" + +env: + PROJECT: forsaken-mail + +on: + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + env: + ACTIONS_ALLOW_UNSECURE_COMMANDS: true + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Docker Hub login + env: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + run: | + echo "${DOCKER_PASSWORD}" | docker login --username ${DOCKER_USERNAME} --password-stdin + - name: Set up Docker Buildx + id: buildx + uses: crazy-max/ghaction-docker-buildx@v1 + with: + buildx-version: latest + - name: Build Dockerfile + env: + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + run: | + docker buildx build \ + --platform=linux/amd64,linux/arm64 \ + --output "type=image,push=true" \ + --file ${{ env.PROJECT }}/Dockerfile ./${{ env.PROJECT }} \ + --tag $(echo "${DOCKER_USERNAME}" | tr '[:upper:]' '[:lower:]')/${{ env.PROJECT }}:latest \ + --tag $(echo "${DOCKER_USERNAME}" | tr '[:upper:]' '[:lower:]')/${{ env.PROJECT }}:$(date +%Y)-$(date +%m)-$(date +%d) diff --git a/forsaken-mail/Dockerfile b/forsaken-mail/Dockerfile new file mode 100644 index 0000000..db295eb --- /dev/null +++ b/forsaken-mail/Dockerfile @@ -0,0 +1,16 @@ +FROM node:lts-alpine +MAINTAINER Hongcai Deng + +WORKDIR /forsaken-mail + +RUN wget https://github.com/denghongcai/forsaken-mail/archive/master.tar.gz -q -O /tmp/forsaken-mail-master.tar.gz \ + && tar zxf /tmp/forsaken-mail-master.tar.gz -C /tmp \ + && mv /tmp/forsaken-mail-master/* /forsaken-mail \ + && rm /tmp/forsaken-mail-master.tar.gz \ + && npm install --production \ + && npm cache clean --force + +EXPOSE 25 +EXPOSE 3000 +CMD ["npm", "start"] + diff --git a/forsaken-mail/README.md b/forsaken-mail/README.md new file mode 100644 index 0000000..fe37ed2 --- /dev/null +++ b/forsaken-mail/README.md @@ -0,0 +1,35 @@ +# forsaken-mail + +GitHub [stilleshan/dockerfiles](https://github.com/stilleshan/dockerfiles) +Docker [stilleshan/forsaken-mail](https://hub.docker.com/r/stilleshan/forsaken-mail) +> *docker image support for X86 and ARM* + +## 简介 +基于 [forsaken-mail](https://github.com/denghongcai/forsaken-mail) 临时邮箱项目的 docker 镜像. + +## 更新 +**2021-06-21** 更新 docker 镜像,已简单测试能够正常收取`126`和`hotmail`邮箱发送的邮件. + +## 部署 +### docker +```shell +docker run -d --name=forsaken-mail --restart=always -p 25:25 -p 3000:3000 stilleshan/forsaken-mail +``` + +### docker compose +下载 [docker-compose.yml](https://raw.githubusercontent.com/stilleshan/dockerfiles/main/forsaken-mail/docker-compose.yml) 执行以下命令启动: +```shell +docker-compose up -d +``` + +### 配置域名 +示例,使用`temp.yourdomain.com`作为临时邮箱后缀.将会生成类似`xxxxx@temp.yourdomain.com`的临时邮箱. +#### 设置邮箱域名 A 记录 +设置`temp`的`A`记录至服务器 IP . + +#### 设置邮箱域名 MX 记录 +设置`temp`的`MX`记录至上述`temp.yourdomain.com`,优先级设置为`10`. + +## 参考 +GitHub [denghongcai/forsaken-mail](https://github.com/denghongcai/forsaken-mail) + diff --git a/forsaken-mail/docker-compose.yml b/forsaken-mail/docker-compose.yml new file mode 100644 index 0000000..64cf794 --- /dev/null +++ b/forsaken-mail/docker-compose.yml @@ -0,0 +1,10 @@ +version: "3" +services: + forsaken-mail: + image: stilleshan/forsaken-mail + container_name: forsaken-mail + ports: + - 25:25 + - 3000:3000 + restart: always +