{"id":19737174,"url":"https://github.com/lakostis/altlinux-mailman-docker","last_synced_at":"2026-04-18T00:05:27.612Z","repository":{"id":83167076,"uuid":"178287791","full_name":"LAKostis/altlinux-mailman-docker","owner":"LAKostis","description":null,"archived":false,"fork":false,"pushed_at":"2019-03-30T00:34:52.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-26T07:04:10.423Z","etag":null,"topics":["altlinux","docker","fcgiwrap","mailman","mailman-virtualdomains","nginx","postfix"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LAKostis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-03-28T21:54:35.000Z","updated_at":"2019-03-30T00:37:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"e2775f04-ae0a-4357-aae1-8551db5746c1","html_url":"https://github.com/LAKostis/altlinux-mailman-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LAKostis/altlinux-mailman-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LAKostis%2Faltlinux-mailman-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LAKostis%2Faltlinux-mailman-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LAKostis%2Faltlinux-mailman-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LAKostis%2Faltlinux-mailman-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LAKostis","download_url":"https://codeload.github.com/LAKostis/altlinux-mailman-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LAKostis%2Faltlinux-mailman-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273064270,"owners_count":25039259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["altlinux","docker","fcgiwrap","mailman","mailman-virtualdomains","nginx","postfix"],"created_at":"2024-11-12T01:09:55.009Z","updated_at":"2026-04-18T00:05:27.576Z","avatar_url":"https://github.com/LAKostis.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# altlinux-docker-mailman\n\nSimple Mailman 2.x [docker](http://www.docker.com) image with SMTP authentication and multiple domain support.\n\nIt also includes rsyslog to enable logging.\n\nI took some ideas and code from [docker-postfix](https://github.com/juanluisbaptiste/docker-postfix) image.\n\n### Build instructions\n\nClone this repo and then:\n\n    cd altlinux-docker-mailman\n    sudo docker build -t alt-mailman .\n\n### How to run it\n\nThe following env variables need to be passed to the container:\n\n* `CUSTOM_POSTFIX` (Optional, Default value: unset) Use provided postfix configuration and skip all configuration steps\n* `SMTP_SERVER` Server address of the SMTP server to use (relay).\n* `SERVER_HOSTNAME` Server hostname for the Postfix container. Emails will appear to come from the hostname's domain.\n* `ADMIN_EMAIL` Email address of the person who should get root's mail.\n\nThe following env variable(s) are optional.\n* `SMTP_HEADER_TAG` This will add a header for tracking messages upstream. Helpful for spam filters. Will appear as \"RelayTag: ${SMTP_HEADER_TAG}\" in the email headers.\n\n* `SMTP_NETWORKS` Setting this will allow you to add additional, comma seperated, subnets to use the relay. Used like\n    -e SMTP_NETWORKS='xxx.xxx.xxx.xxx/xx,xxx.xxx.xxx.xxx/xx'\n\n* `SMTP_PORT` (Optional, Default value: 25) Port address of the SMTP server to use.\n* `SASL_ENABLED` (Optional, Default is unset) Use SASL authentication on relay.\n* `SMTP_USERNAME` SASL Username to authenticate with.\n* `SMTP_PASSWORD` SASL Password of the SMTP user.\n\nMailman specific vars, all optional (see defaults):\n* `CUSTOM_MAILMAN` (Optional, Default value: unset) Use provided mailman configuration and skip all configuration steps\n* `MAILMAN_LANG` (Optional, Default value:ru) Default mailman language\n* `MAILMAN_URL_HOST` (Optional, Default value: $SERVER_HOSTNAME) Mailman URL FQDN, specified if mailman exposed outside with another name.\n* `MAILMAN_EMAIL_HOST` (Optional, Default value: $MAILMAN_URL_HOST) Mailman email FQDN, used in messaging\n* `MAILMAN_URL_PATTERN` (Optional, Default value: https://%s/mailman/) Mailman URL pattern used in messaging\n* `MAILMAN_DOMAINS` (Optional, Default value: $MAILMAN_URL_HOST) FQDN list to serve\n* `SITE_PASSWORD` (Optional, Default value: randomly generated) Mailman site (aka root) password\n* `LIST_PASSWORD` (Optional, Default value: randomly generated) Mailman list creation password\n* `ML_PASSWORD` (Optional, Default value: randomly generated) 'mailman' list password\n\n`MAILMAN_DOMAINS` can be specified as a simple list:\n\n    \u003cdomain1.com\u003e \u003cdomain2.xyz\u003e..\u003cdomainN.zzz\u003e\n\nOr as key:value list with custom email hosts:\n\n    \u003cdomain1.com\u003e:\u003cemail domain.com\u003e \u003cdomain2.xyz\u003e...\u003cdomainN.zzz\u003e:\u003cemail domainY.yyy\u003e\n\nAs you see, `\u003cdomain2.xyz\u003e` doesn't have email custom url, so it will be used as email url.\n\nTo use this container from anywhere, the 25 port or the one specified by `SMTP_PORT` needs to be exposed to the docker host server:\n\n    docker run -d --name alt-mailman -p \"25:25\"  \\ \n           -e SMTP_SERVER=smtp.bar.com \\\n           -e SMTP_USERNAME=foo@bar.com \\\n           -e SMTP_PASSWORD=XXXXXXXX \\\n           -e SERVER_HOSTNAME=lists.example.com \\\n           alt-mailman\n    \nIf you are going to use this container from other docker containers then it's better to just publish the port:\n\n    docker run -d --name alt-mailman -P \\\n           -e SMTP_SERVER=smtp.bar.com \\\n           -e SMTP_USERNAME=foo@bar.com \\\n           -e SMTP_PASSWORD=XXXXXXXX \\\n           -e SERVER_HOSTNAME=internal.example.com \\\n           -e MAILMAN_DOMAINS='lists.example.com lists.example2.org:example3.net'\n           alt-mailman\n\nTo see the system logs in real time:\n\n    docker logs -f alt-mailman (initial configuration)\n    docker exec -ti alt-mailman supervisorctl tail -f rsyslog (system logs)\n\nTo see mailman logs in real time:\n\n    docker exec -ti alt-mailman tail -f /var/log/mailman/error /var/log/mailman/qrunner\n\n### Debugging\nIf you need troubleshooting the container you can set the environment variable _DEBUG=yes_ for a more verbose output.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flakostis%2Faltlinux-mailman-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flakostis%2Faltlinux-mailman-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flakostis%2Faltlinux-mailman-docker/lists"}