@@ -41,6 +41,15 @@ services:
4141 PGPASSWORD : ${POSTGRES_PASSWORD:-postgres}
4242 PGDATABASE : ${POSTGRES_DB:-hackorum}
4343 SECRET_KEY_BASE : ${SECRET_KEY_BASE}
44+ # Mail configuration
45+ APP_HOST : ${APP_HOST}
46+ MAIL_DOMAIN : ${MAIL_DOMAIN}
47+ MAIL_FROM : ${MAIL_FROM}
48+ SMTP_ADDRESS : ${SMTP_ADDRESS}
49+ SMTP_PORT : ${SMTP_PORT}
50+ SMTP_DOMAIN : ${SMTP_DOMAIN}
51+ SMTP_USERNAME : ${SMTP_USERNAME}
52+ SMTP_PASSWORD : ${SMTP_PASSWORD}
4453 depends_on :
4554 db :
4655 condition : service_healthy
@@ -102,54 +111,6 @@ services:
102111 - /var/run/docker.sock:/var/run/docker.sock
103112 restart : unless-stopped
104113
105- mail :
106- image : boky/postfix:latest
107- hostname : ${MAIL_HOSTNAME:-mail.example.com}
108- environment :
109- # Domain from which emails will be sent
110- ALLOWED_SENDER_DOMAINS : ${MAIL_DOMAIN:-example.com}
111-
112- # Relay host (leave empty for direct sending, or use a relay like SendGrid/Mailgun)
113- # RELAYHOST: ${MAIL_RELAYHOST:-}
114- # RELAYHOST_USERNAME: ${MAIL_RELAYHOST_USERNAME:-}
115- # RELAYHOST_PASSWORD: ${MAIL_RELAYHOST_PASSWORD:-}
116-
117- # DKIM signing
118- DKIM_SELECTOR : ${DKIM_SELECTOR:-mail}
119- DKIM_AUTOGENERATE : " true"
120-
121- # Logging
122- LOG_LEVEL : ${MAIL_LOG_LEVEL:-info}
123-
124- # Override from address (optional, for testing)
125- # OVERWRITE_FROM: ${MAIL_OVERWRITE_FROM:-}
126-
127- # TLS configuration
128- TLS : " true"
129-
130- # Allow localhost relay (for the web container)
131- ALLOW_EMPTY_SENDER_DOMAINS : " false"
132-
133- # Message size limit (default 10MB)
134- MESSAGE_SIZE_LIMIT : ${MAIL_MESSAGE_SIZE_LIMIT:-10240000}
135- volumes :
136- # Persist DKIM keys
137- - mail_dkim:/etc/opendkim/keys
138- # Persist mail queue
139- - mail_spool:/var/spool/postfix
140- expose :
141- - " 587" # Submission port (for authenticated clients)
142- ports :
143- - " 25:25" # SMTP port (for receiving mail)
144- healthcheck :
145- test : ["CMD-SHELL", "postfix status || exit 1"]
146- interval : 30s
147- timeout : 10s
148- retries : 3
149- restart : unless-stopped
150- labels :
151- autoheal : " true"
152-
153114 psql :
154115 image : postgres:18
155116 entrypoint : ["psql", "postgresql://${POSTGRES_USER:-postgres}:${POSTGRES_PASSWORD:-postgres}@db:5432/${POSTGRES_DB:-hackorum}"]
@@ -165,5 +126,3 @@ volumes:
165126 pgbackups :
166127 caddy_data :
167128 caddy_config :
168- mail_dkim :
169- mail_spool :
0 commit comments