This commit is contained in:
Colin 2024-04-10 17:39:51 -04:00
parent 900d22bb29
commit b658384e38
9 changed files with 47 additions and 88 deletions

View File

@ -1,7 +1,7 @@
version: "3.9" version: "3.9"
services: services:
send: mailpit:
build: build:
context: docker/send context: docker/mailpit
dockerfile: Dockerfile.production dockerfile: Dockerfile.production
image: git.nixc.us/nixius/send:production-web image: git.nixc.us/nixius/mailpit:production

View File

@ -1,6 +1,6 @@
version: "3.9" version: "3.9"
services: services:
send: mailpit:
build: build:
context: docker/send context: docker/mailpit
image: git.nixc.us/nixius/send:staging-web image: git.nixc.us/nixius/mailpit:staging

View File

@ -0,0 +1 @@
FROM axllent/mailpit

View File

@ -0,0 +1 @@
FROM git.nixc.us/nixius/mailpit:staging

View File

@ -1 +0,0 @@
# TODO: Deploy a static version of redis maybe for what its worth.

View File

@ -1 +0,0 @@
FROM registry.gitlab.com/timvisee/send:latest

View File

@ -1 +0,0 @@
FROM git.nixc.us/nixius/send:staging-web

View File

@ -2,60 +2,37 @@ version: "3.7"
networks: networks:
traefik: traefik:
external: true external: true
default: mailpit:
external: true
services: services:
web: mailpit:
image: git.nixc.us/nixius/send:production-web image: git.nixc.us/nixius/mailpit:production
depends_on: depends_on:
- redis - redis
environment: environment:
REDIS_HOST: send_redis MP_MAX_MESSAGES: 5000
FILE_DIR: /uploads MP_DATA_FILE: /data/mailpit.db
DETECT_BASE_URL: "true" MP_SMTP_AUTH_ACCEPT_ANY: 1
MAX_FILE_SIZE: 4294967296 # 2147483648 #4,294,967,296 MP_SMTP_AUTH_ALLOW_INSECURE: 1
MAX_FILES_PER_ARCHIVE: 64 # volumes:
MAX_DOWNLOADS: 5 # - /mnt/tank/persist/nixc.us/mailpit/production/uploads:/data
DOWNLOAD_COUNTS: "2,1,2,5"#,10,15,25,50,100,1000"
EXPIRE_TIMES_SECONDS: "3600,86400,604800,2592000,31536000"
DEFAULT_DOWNLOADS: "1"
DEFAULT_EXPIRE_SECONDS: "86400"
volumes:
- /mnt/tank/persist/nixc.us/send/production/uploads:/uploads
networks: networks:
- default - default
- traefik - traefik
deploy: deploy:
replicas: 1 replicas: 1
placement: # placement:
constraints: # constraints:
- node.hostname == macmini8 # - node.hostname == macmini8
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.production_send_web.tls=true" - "traefik.http.routers.production_mailpit_mailpit.tls=true"
- "traefik.http.services.production_send_web.loadbalancer.server.port=1443" - "traefik.http.services.production_mailpit_mailpit.loadbalancer.server.port=8025"
- "traefik.http.routers.production_send_web.rule=Host(`send.nixc.us`)" - "traefik.http.routers.production_mailpit_mailpit.rule=Host(`mailpit.nixc.us`)"
- "traefik.http.routers.production_send_web.entrypoints=websecure" - "traefik.http.routers.production_mailpit_mailpit.entrypoints=websecure"
- "traefik.http.routers.production_send_web.tls.certresolver=letsencryptresolver" - "traefik.http.routers.production_mailpit_mailpit.tls.certresolver=letsencryptresolver"
- "traefik.http.routers.production_send_web.service=production_send_web" - "traefik.http.routers.production_mailpit_mailpit.service=production_mailpit_mailpit"
- "traefik.docker.network=traefik" - "traefik.docker.network=traefik"
networks: networks:
- traefik - traefik
- default - mailpit
redis:
image: redis:alpine
networks:
- default
redis:
image: redis
deploy:
replicas: 1
placement:
constraints:
- node.hostname == macmini8
labels:
- traefik.enable=false
volumes:
- /mnt/tank/persist/nixc.us/send/production/db:/data
networks:
- default
entrypoint: redis-server

View File

@ -2,54 +2,37 @@ version: "3.7"
networks: networks:
traefik: traefik:
external: true external: true
default: mailpit:
external: true
services: services:
web: mailpit:
image: git.nixc.us/nixius/send:staging-web image: git.nixc.us/nixius/mailpit:staging
depends_on: depends_on:
- redis - redis
environment: environment:
REDIS_HOST: send_redis MP_MAX_MESSAGES: 5000
FILE_DIR: /uploads MP_DATA_FILE: /data/mailpit.db
DETECT_BASE_URL: "true" MP_SMTP_AUTH_ACCEPT_ANY: 1
MAX_FILE_SIZE: 4294967296 # 2147483648 #4,294,967,296 MP_SMTP_AUTH_ALLOW_INSECURE: 1
MAX_FILES_PER_ARCHIVE: 64
MAX_DOWNLOADS: 20
DOWNLOAD_COUNTS: "2,1,2,5,10,15,25,50,100,1000"
EXPIRE_TIMES_SECONDS: "3600,86400,604800,2592000,31536000"
DEFAULT_DOWNLOADS: "1"
DEFAULT_EXPIRE_SECONDS: "86400"
# volumes: # volumes:
# - /mnt/tank/persist/aenow.com/send/staging/uploads:/uploads # - /mnt/tank/persist/nixc.us/mailpit/staging/uploads:/data
networks: networks:
- default - default
- traefik - traefik
deploy: deploy:
replicas: 1 replicas: 1
# placement:
# constraints:
# - node.hostname == macmini8
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.staging_send_web.tls=true" - "traefik.http.routers.staging_mailpit_mailpit.tls=true"
- "traefik.http.services.staging_send_web.loadbalancer.server.port=1443" - "traefik.http.services.staging_mailpit_mailpit.loadbalancer.server.port=8025"
- "traefik.http.routers.staging_send_web.rule=Host(`staging.send.aenow.com`)" - "traefik.http.routers.staging_mailpit_mailpit.rule=Host(`mailpit.nixc.us`)"
- "traefik.http.routers.staging_send_web.entrypoints=websecure" - "traefik.http.routers.staging_mailpit_mailpit.entrypoints=websecure"
- "traefik.http.routers.staging_send_web.tls.certresolver=letsencryptresolver" - "traefik.http.routers.staging_mailpit_mailpit.tls.certresolver=letsencryptresolver"
- "traefik.http.routers.staging_send_web.service=staging_send_web" - "traefik.http.routers.staging_mailpit_mailpit.service=staging_mailpit_mailpit"
- "traefik.docker.network=traefik" - "traefik.docker.network=traefik"
networks: networks:
- traefik - traefik
- default - mailpit
redis:
image: redis:alpine
networks:
- default
redis:
image: redis
deploy:
replicas: 1
labels:
- traefik.enable=false
# volumes:
# - /mnt/tank/persist/nixc.us/send/staging/db:/data
networks:
- default
entrypoint: redis-server