Files
mail-postfixadmin/docker-compose.yml
mifi 095927f5d0
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/push/deploy Pipeline was successful
Update compose file; add Woodpecker pipelines
2026-02-12 17:52:59 -03:00

70 lines
3.8 KiB
YAML

# Stack env vars in Portainer are used for substitution below; each must be passed into the container.
# Set at least PFA_SETUP_PASSWORD, PFA_DATABASE_PASSWORD, PFA_ADMIN_SMTP_PASSWORD in the stack.
services:
postfixadmin:
image: git.mifi.dev/mifi-holdings/mail-postfixadmin:latest
container_name: mifi-mail-postfixadmin
environment:
- PFA_SETUP_PASSWORD=${PFA_SETUP_PASSWORD}
- PFA_DATABASE_PASSWORD=${PFA_DATABASE_PASSWORD}
- PFA_ADMIN_SMTP_PASSWORD=${PFA_ADMIN_SMTP_PASSWORD}
- PFA_DATABASE_HOST=${PFA_DATABASE_HOST:-mail.mifi.holdings}
- PFA_DATABASE_USER=${PFA_DATABASE_USER:-postfixadmin}
- PFA_DATABASE_NAME=${PFA_DATABASE_NAME:-postfix}
- PFA_DATABASE_TYPE=${PFA_DATABASE_TYPE:-mysqli}
- PFA_ENCRYPT=${PFA_ENCRYPT:-php_crypt:BLOWFISH:13:{BLF-CRYPT}}
- PFA_SITE_URL=${PFA_SITE_URL:-https://postmaster.mifi.holdings}
- PFA_SITE_NAME=${PFA_SITE_NAME:-mifi Ventures Email Service}
- PFA_WELCOME_TEXT=${PFA_WELCOME_TEXT:-Welcome to mifi Ventures Email Service — <a href="https://mail.mifi.holdings/help" target="_blank">help</a>}
- PFA_SHOW_HEADER_TEXT=${PFA_SHOW_HEADER_TEXT:-YES}
- PFA_HEADER_TEXT=${PFA_HEADER_TEXT:-mifi Ventures Email Service}
- PFA_FOOTER_TEXT=${PFA_FOOTER_TEXT:-mifi Ventures Mail}
- PFA_FOOTER_LINK=${PFA_FOOTER_LINK:-https://mail.mifi.holdings}
- PFA_DEFAULT_LANGUAGE=${PFA_DEFAULT_LANGUAGE:-en}
- PFA_DEFAULT_CHARSET=${PFA_DEFAULT_CHARSET:-UTF-8}
- PFA_SPECIAL_ALIAS_CONTROL=${PFA_SPECIAL_ALIAS_CONTROL:-NO}
- PFA_BACKUP=${PFA_BACKUP:-NO}
- PFA_FETCHMAIL=${PFA_FETCHMAIL:-NO}
- PFA_SENDMAIL=${PFA_SENDMAIL:-NO}
- PFA_APP_PASSWORDS=${PFA_APP_PASSWORDS:-YES}
- PFA_QUOTA=${PFA_QUOTA:-YES}
- PFA_USED_QUOTAS=${PFA_USED_QUOTAS:-YES}
- PFA_MAILBOXES=${PFA_MAILBOXES:-100}
- PFA_MAXQUOTA=${PFA_MAXQUOTA:-10240}
- PFA_DOMAIN_QUOTA_DEFAULT=${PFA_DOMAIN_QUOTA_DEFAULT:-102400}
- PFA_ADMIN_EMAIL=${PFA_ADMIN_EMAIL:-noreply@mifi.holdings}
- PFA_ADMIN_NAME=${PFA_ADMIN_NAME:-mifi Ventures Postmaster}
- PFA_SMTP_SERVER=${PFA_SMTP_SERVER:-mail.mifi.holdings}
- PFA_SMTP_PORT=${PFA_SMTP_PORT:-587}
- PFA_SMTP_TYPE=${PFA_SMTP_TYPE:-starttls}
- PFA_SMTP_AUTH=${PFA_SMTP_AUTH:-true}
- PFA_EDIT_MAILBOX=${PFA_EDIT_MAILBOX:-true}
- PFA_EDIT_ALIAS=${PFA_EDIT_ALIAS:-true}
- PFA_FORGOTTEN_ADMIN_PASSWORD_RESET=${PFA_FORGOTTEN_ADMIN_PASSWORD_RESET:-true}
- PFA_FORGOTTEN_USER_PASSWORD_RESET=${PFA_FORGOTTEN_USER_PASSWORD_RESET:-true}
- PFA_ADMIN_2FA=${PFA_ADMIN_2FA:-true}
- PFA_API_ENABLED=${PFA_API_ENABLED:-true}
- PFA_API_ALLOW_FROM=${PFA_API_ALLOW_FROM:-127.0.0.1,::1}
- PFA_SESSION_TIMEOUT=${PFA_SESSION_TIMEOUT:-1800}
healthcheck:
test: curl --fail http://localhost || exit 1
retries: 5
start_period: 30s
restart: unless-stopped
networks:
- traefik
volumes:
- /var/run/mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock:ro
labels:
- 'traefik.enable=true'
- 'traefik.docker.network=traefik'
- 'traefik.http.routers.postfixadmin.rule=Host(`postmaster.mifi.holdings`)'
- 'traefik.http.routers.postfixadmin.middlewares=gzip@file,security-medium@file'
- 'traefik.http.routers.postfixadmin.entrypoints=websecure'
- 'traefik.http.routers.postfixadmin.tls=true'
- 'traefik.http.routers.postfixadmin.tls.certresolver=letsencrypt'
networks:
traefik:
external: true