{"id":18289775,"url":"https://github.com/nfrastack/container-rspamd","last_synced_at":"2026-04-25T00:04:16.680Z","repository":{"id":25146544,"uuid":"103298103","full_name":"tiredofit/docker-rspamd","owner":"tiredofit","description":"Dockerized  Anti Spam Filter","archived":false,"fork":false,"pushed_at":"2025-08-16T15:57:24.000Z","size":199,"stargazers_count":18,"open_issues_count":4,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-08-16T17:38:47.631Z","etag":null,"topics":["alpine","antispam","docker","rspamd"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tiredofit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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,"zenodo":null},"funding":{"github":["tiredofit"]}},"created_at":"2017-09-12T16:56:58.000Z","updated_at":"2025-08-16T15:57:27.000Z","dependencies_parsed_at":"2023-02-10T19:25:39.287Z","dependency_job_id":"b1af3a85-c8d9-4038-baa2-30612120d014","html_url":"https://github.com/tiredofit/docker-rspamd","commit_stats":null,"previous_names":[],"tags_count":73,"template":false,"template_full_name":null,"purl":"pkg:github/tiredofit/docker-rspamd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-rspamd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-rspamd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-rspamd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-rspamd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tiredofit","download_url":"https://codeload.github.com/tiredofit/docker-rspamd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-rspamd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275483460,"owners_count":25473112,"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-09-16T02:00:10.229Z","response_time":65,"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":["alpine","antispam","docker","rspamd"],"created_at":"2024-11-05T14:08:09.430Z","updated_at":"2026-04-25T00:04:16.653Z","avatar_url":"https://github.com/tiredofit.png","language":"Python","funding_links":["https://github.com/sponsors/tiredofit","https://www.paypal.me/tiredofit"],"categories":[],"sub_categories":[],"readme":"# github.com/tiredofit/docker-rspamd\n\n[![GitHub release](https://img.shields.io/github/v/tag/tiredofit/docker-rspamd?style=flat-square)](https://github.com/tiredofit/docker-rspamd/releases/latest)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/tiredofit/docker-rspamd/main.yml?branch=main\u0026style=flat-square)](https://github.com/tiredofit/docker-rspamd/actions)\n[![Docker Stars](https://img.shields.io/docker/stars/tiredofit/rspamd.svg?style=flat-square\u0026logo=docker)](https://hub.docker.com/r/tiredofit/rspamd/)\n[![Docker Pulls](https://img.shields.io/docker/pulls/tiredofit/rspamd.svg?style=flat-square\u0026logo=docker)](https://hub.docker.com/r/tiredofit/rspamd/)\n[![Become a sponsor](https://img.shields.io/badge/sponsor-tiredofit-181717.svg?logo=github\u0026style=flat-square)](https://github.com/sponsors/tiredofit)\n[![Paypal Donate](https://img.shields.io/badge/donate-paypal-00457c.svg?logo=paypal\u0026style=flat-square)](https://www.paypal.me/tiredofit)\n\n## About\n\nThis will build a Docker Image for [RSPAMD](https://www.rspamd.com), A high performance filter.\n\n## Maintainer\n\n- [Dave Conroy](https://github.com/tiredofit/)\n\n## Table of Contents\n\n- [About](#about)\n- [Maintainer](#maintainer)\n- [Table of Contents](#table-of-contents)\n- [Installation](#installation)\n  - [Build from Source](#build-from-source)\n  - [Prebuilt Images](#prebuilt-images)\n    - [Multi Architecture](#multi-archictecture)\n- [Configuration](#configuration)\n  - [Quick Start](#quick-start)\n  - [Persistent Storage](#persistent-storage)\n  - [Environment Variables](#environment-variables)\n    - [Base Images used](#base-images-used)\n  - [Networking](#networking)\n- [Maintenance](#maintenance)\n  - [Shell Access](#shell-access)\n- [Support](#support)\n  - [Usage](#usage)\n  - [Bugfixes](#bugfixes)\n  - [Feature Requests](#feature-requests)\n  - [Updates](#updates)\n- [License](#license)\n- [References](#references)\n\n\n## Installation\n### Build from Source\nClone this repository and build the image with `docker build -t (imagename) .`\n\n### Prebuilt Images\nBuilds of the image are available on [Docker Hub](https://hub.docker.com/r/tiredofit/rspamd)\n\n```bash\ndocker pull docker.io/tiredofit/rspamd:(imagetag)\n```\nBuilds of the image are also available on the [Github Container Registry](https://github.com/tiredofit/docker-rspamd/pkgs/container/docker-rspamd) \n \n```\ndocker pull ghcr.io/tiredofit/docker-rspamd:(imagetag)\n``` \n\nThe following image tags are available along with their tagged release based on what's written in the [Changelog](CHANGELOG.md):\n\n| Container OS | Tag       |\n| ------------ | --------- |\n| Alpine       | `:latest` |\n\n#### Multi Architecture\nImages are built primarily for `amd64` architecture, and may also include builds for `arm/v7`, `arm64` and others. These variants are all unsupported. Consider [sponsoring](https://github.com/sponsors/tiredofit) my work so that I can work with various hardware. To see if this image supports multiple architecures, type `docker manifest (image):(tag)`\n\n## Configuration\n\n### Quick Start\n\n* The quickest way to get started is using [docker-compose](https://docs.docker.com/compose/). See the examples folder for a working [docker-compose.yml](examples/docker-compose.yml) that can be modified for development or production use.\n\n* Set various [environment variables](#environment-variables) to understand the capabilities of this image.\n* Map [persistent storage](#data-volumes) for access to configuration and data files for backup.\n\n### Persistent Storage\n\nThe following directories are used for configuration and can be mapped for persistent storage.\n\n| Directory | Description |\n| --------- | ----------- |\n\n\n* * *\n### Environment Variables\n\n#### Base Images used\n\nThis image relies on an [Alpine Linux](https://hub.docker.com/r/tiredofit/alpine) base image that relies on an [init system](https://github.com/just-containers/s6-overlay) for added capabilities. Outgoing SMTP capabilities are handlded via `msmtp`. Individual container performance monitoring is performed by [zabbix-agent](https://zabbix.org). Additional tools include: `bash`,`curl`,`less`,`logrotate`,`nano`.\n\nBe sure to view the following repositories to understand all the customizable options:\n\n| Image                                                  | Description                            |\n| ------------------------------------------------------ | -------------------------------------- |\n| [OS Base](https://github.com/tiredofit/docker-alpine/) | Customized Image based on Alpine Linux |\n\n#### Rspamd Configuration\n\n| Parameter                           | Description | Default                              |\n| ----------------------------------- | ----------- | ------------------------------------ |\n| `ANTIVIRUS_ACTION`                  |             | `reject`                             |\n| `ANTIVIRUS_ATTACHMENTS_ONLY`        |             | `TRUE`                               |\n| `ANTIVIRUS_LOG_CLEAN`               |             | `TRUE`                               |\n| `ANTIVIRUS_MAX_SIZE`                |             |                                      |\n| `ANTIVIRUS_TYPE`                    |             | `clamav`                             |\n| `ARC_ALLOW_ENVFROM_EMPTY`           |             | `TRUE`                               |\n| `ARC_ALLOW_HDRFROM_MISMATCH`        |             | `TRUE`                               |\n| `ARC_ALLOW_HDRFROM_MULTIPLE`        |             | `FALSE`                              |\n| `ARC_ALLOW_USERNAME_MISMATCH`       |             | `FALSE`                              |\n| `ARC_AUTH_ONLY`                     |             | `TRUE`                               |\n| `ARC_SIGN_INBOUND`                  |             | `TRUE`                               |\n| `ARC_SIGN_LOCAL`                    |             | `FALSE`                              |\n| `ARC_TRY_FALLBACK`                  |             | `TRUE`                               |\n| `ARC_USE_DOMAIN`                    |             | `recipient`                          |\n| `ARC_USE_ESLD`                      |             | `TRUE`                               |\n| `BAYESIAN_AUTOLEARN`                |             | `TRUE`                               |\n| `BAYESIAN_AUTOLEARN_CHECK_BALANCE`  |             | `TRUE`                               |\n| `BAYESIAN_AUTOLEARN_HAM_THRESHOLD`  |             | `-0.5`                               |\n| `BAYESIAN_AUTOLEARN_MIN_BALANCE`    |             | `0.9`                                |\n| `BAYESIAN_AUTOLEARN_SPAM_THRESHOLD` |             | `6.0`                                |\n| `BAYESIAN_EXPIRE`                   |             |                                      |\n| `BAYESIAN_MIN_LEARNS`               |             |                                      |\n| `BAYESIAN_NEW_SCHEMA`               |             | `TRUE`                               |\n| `BAYESIAN_SIGNATURES`               |             | `TRUE`                               |\n| `BAYESIAN_STORE_STOKENS`            |             | `TRUE`                               |\n| `CLAMAV_HOST`                       |             | `clamav`                             |\n| `CLAMAV_PORT`                       |             | `3310`                               |\n| `CONFIG_PATH`                       |             | `/config/`                           |\n| `CONTROLLER_COUNT`                  |             |                                      |\n| `CONTROLLER_LISTEN_IP`              |             | `*v4`                                |\n| `CONTROLLER_LISTEN_PORT`            |             | `11334`                              |\n| `CONTROLLER_HOST`                   |             | `127.0.0.1`                          |\n| `CONTROLLER_PORT`                   |             | `11334`                              |\n| `CONTROLLER_PASS`                   |             | `admin`                              |\n| `CONTROLLER_SECURE_IPS`             |             | `127.0.0.1,172.16.0.0/12`            |\n| `DKIM_ALLOW_ENVFROM_EMPTY`          |             | `TRUE`                               |\n| `DKIM_ALLOW_HDRFROM_MISMATCH`       |             | `FALSE`                              |\n| `DKIM_ALLOW_HDRFROM_MULTIPLE`       |             | `FALSE`                              |\n| `DKIM_ALLOW_USERNAME_MISMATCH`      |             | `FALSE`                              |\n| `DKIM_SIGN_AUTH`                    |             | `TRUE`                               |\n| `DKIM_KEY_SIZE`                     |             | `2048`                               |\n| `DKIM_SIGN_LOCAL`                   |             | `TRUE`                               |\n| `DKIM_TRY_FALLBACK`                 |             | `TRUE`                               |\n| `DKIM_USE_ESLD`                     |             | `TRUE`                               |\n| `DKIM_USE_DOMAIN`                   |             | `header`                             |\n| `DKIM_SELECTOR`                     |             | `mail`                               |\n| `DMARC_DOMAIN`                      |             | `example.com`                        |\n| `DMARC_EMAIL`                       |             | `postmaster@example.com`             |\n| `DMARC_ENABLE_REPORTING`            |             | `TRUE`                               |\n| `DMARC_FROM_NAME`                   |             | `Mailserver`                         |\n| `DMARC_ORG_NAME`                    |             | `Example Organization`               |\n| `DMARC_SEND_REPORTS`                |             | `FALSE`                              |\n| `DMARC_SMTP_HELO`                   |             | `rspamd`                             |\n| `DMARC_SMTP_HOST`                   |             | `postfix-relay`                      |\n| `DMARC_SMTP_PORT`                   |             | `25`                                 |\n| `DMARC_SMTP_RETRIES`                |             | `2`                                  |\n| `ENABLE_ANTIVIRUS`                  |             | `TRUE`                               |\n| `ENABLE_ARC`                        |             | `TRUE`                               |\n| `ENABLE_ASN`                        |             | `TRUE`                               |\n| `ENABLE_CONTROLLER`                 |             | `TRUE`                               |\n| `ENABLE_DKIM`                       |             | `TRUE`                               |\n| `ENABLE_DMARC`                      |             | `TRUE`                               |\n| `ENABLE_GREYLIST`                   |             | `FALSE`                              |\n| `ENABLE_HISTORY`                    |             | `TRUE`                               |\n| `ENABLE_MILTER`                     |             | `TRUE`                               |\n| `ENABLE_MX_CHECK`                   |             | `TRUE`                               |\n| `ENABLE_NEURAL`                     |             | `TRUE`                               |\n| `ENABLE_OLETOOLS`                   |             | `TRUE`                               |\n| `ENABLE_PHISHING_CHECK`             |             | `TRUE`                               |\n| `ENABLE_RATELIMITING`               |             | `TRUE`                               |\n| `ENABLE_REPUTATION`                 |             | `TRUE`                               |\n| `ENABLE_SPAMTRAP`                   |             | `TRUE`                               |\n| `ENABLE_SPF`                        |             | `TRUE`                               |\n| `ENABLE_URL_REPUTATION`             |             | `TRUE`                               |\n| `ENABLE_URL_TAGS`                   |             | `TRUE`                               |\n| `HISTORY_COMPRESS`                  |             | `TRUE`                               |\n| `HISTORY_ROWS_LIMIT`                |             | `200`                                |\n| `HISTORY_SUBJECT_PRIVACY`           |             | `FALSE`                              |\n| `LOCAL_IPS`                         |             | `127.0.0.0/8, 172.16.0.0/12`         |\n| `LOG_CONSOLE_COLORIZE`              |             | `TRUE`                               |\n| `LOG_FILE`                          |             | `rspamd.log`                         |\n| `LOG_LEVEL`                         |             | `silent`                             |\n| `LOG_LOCATION`                      |             | `/logs/`                             |\n| `LOG_SEVERITY`                      |             | `TRUE`                               |\n| `LOG_TYPE`                          |             | `FILE`                               |\n| `LOG_URLS`                          |             | `FALSE`                              |\n| `LOG_USEC`                          |             | `FALSE`                              |\n| `MAP_WATCH_INTERVAL`                |             | `30s`                                |\n| `METRICS_ADD_HEADER`                |             | `6`                                  |\n| `METRICS_GREYLIST`                  |             | `4`                                  |\n| `METRICS_REJECT`                    |             | `15`                                 |\n| `METRICS_SPOOF_REPLYTO`             |             | `6.0`                                |\n| `METRICS_REWRITE_SUBJECT`           |             | `12`                                 |\n| `MILTER_EXTENDED_SPAM_HEADERS`      |             | `FALSE`                              |\n| `MODE`                              |             | `AIO`                                |\n| `MX_CHECK_EXPIRE`                   |             | `86400`                              |\n| `MX_CHECK_TIMEOUT`                  |             | `8.0`                                |\n| `NAMESERVER`                        |             | `127.0.0.1`                          |\n| `NAMESERVER_TIMEOUT`                |             | `5s`                                 |\n| `NEURAL_ANN_EXPIRE`                 |             | `2w`                                 |\n| `NEURAL_LEARNING_RATE`              |             | `0.01`                               |\n| `NEURAL_MAX_ITERATIONS`             |             | `25`                                 |\n| `NEURAL_MAX_TRAIN`                  |             | `1k`                                 |\n| `NEURAL_MAX_USAGES`                 |             | `60`                                 |\n| `OLETOOLS_HOST`                     |             |  `rspamd-olefy`                      |\n| `OLETOOLS_PORT`                     |             |  `1005`                              |\n| `OLETOOLS_SCAN_MIME`                |             | `TRUE`                               |\n| `OLETOOLS_BLOCK_ALL_MACROS`         |             | `FALSE`                              |\n| `PHISHING_ENABLE_OPENPHISH`         |             | `TRUE`                               |\n| `PHISHING_ENABLE_PHISHTANK`         |             | `TRUE`                               |\n| `PHISHING_OPENPHISH_FEED`           |             | `https://www.openphish.com/feed.txt` |\n| `PHISHING_OPENPHISH_PREMIUM`        |             | `FALSE`                              |\n| `RATELIMIT_FROM_BURST`              |             | `50`                                 |\n| `RATELIMIT_FROM_RATE`               |             | `1 / 1min`                           |\n| `RATELIMIT_RCPT_BURST`              |             | `50`                                 |\n| `RATELIMIT_RCPT_RATE`               |             | `1 / 1min`                           |\n| `REDIS_DB`                          |             | `7`                                  |\n| `REDIS_HOST`                        |             | `rspamd-redis`                       |\n| `REDIS_PORT`                        |             | `6379`                               |\n| `REDIS_TIMEOUT`                     |             | `3s`                                 |\n| `REWRITE_SUBJECT`                   |             | `[SPAM] %s`                          |\n| `RSPAMD_DATA_LOCATION`              |             | `/data/rspamd`                       |\n| `SETUP_TYPE`                        |             | `AUTO`                               |\n| `SPAMTRAP_ACTION`                   |             | `no action`                          |\n| `SPAMTRAP_LEARN_FUZZY`              |             | `TRUE`                               |\n| `SPAMTRAP_LEARN_SPAM`               |             | `TRUE`                               |\n| `SPAMTRAP_SCORE`                    |             | `1.0`                                |\n| `SKIP_CLAMAV_HOST_CHECK`            |             | `FALSE`                              |\n| `SKIP_NAMESERVER_HOST_CHECK`        |             | `FALSE`                              |\n| `SKIP_OLEFY_HOST_CHECK`             |             | `FALSE`                              |\n| `SKIP_REDIS_HOST_CHECK`             |             | `FALSE`                              |\n| `WHITELIST_ANTIVIRUS`               |             | `antivirus.wl`                       |\n| `WORKER_FUZZY_LISTEN_IP`            |             | `*v4`                                |\n| `WORKER_FUZZY_LISTEN_PORT`          |             | `11335`                              |\n| `WORKER_FUZZY_ALLOW_UPDATE_IPS`     |             | `127.0.0.1`                          |\n| `WORKER_FUZZY_COUNT`                |             |                                      |\n| `WORKER_FUZZY_EXPIRE`               |             | `90d`                                |\n| `WORKER_FUZZY_SYNC`                 |             | `1min`                               |\n| `WORKER_LISTEN_IP`                  |             | `*v4`                                |\n| `WORKER_LISTEN_PORT`                |             | `11333`                              |\n| `WORKER_COUNT`                      |             | `1`                                  |\n| `WORKER_TASK_TIMEOUT`               |             | `12s`                                |\n| `WORKER_PROXY_LISTEN_IP`            |             | `*v4`                                |\n| `WORKER_PROXY_LISTEN_PORT`          |             | `11332`                              |\n| `WORKER_PROXY_SPAM_HEADER`          |             | `X-Spam-Status`                      |\n| `WORKER_PROXY_TIMEOUT`              |             | `120s`                               |\n| `WORKER_PROXY_REJECT_MESSAGE`       |             | `Spam message rejected`              |\n| `WORKER_PROXY_COUNT`                |             | `1`                                  |\n| `WORKER_PROXY_MAX_RETRY`            |             | `5`                                  |\n| `WORKER_PROXY_REJECT_DISCARD`       |             | `FALSE`                              |\n| `WORKER_PROXY_REJECT_QUARANTINE`    |             | `FALSE`                              |\n| `DB_HOST`                           |             |                                      |\n| `DB_PORT`                           |             |                                      |\n\n#### Spamlearn configuration\n\n| Parameter                           | Description | Default                      |\n| ----------------------------------- | ----------- | ---------------------------- |\n| `ENABLE_SPAMLEARN_INOTIFY`          |             | `TRUE`                       |\n| `LOG_LEVEL_SPAMLEARN`               |             | `INFO`                       |\n| `LOG_SPAMLEARN_LOCATION`            |             | `/logs/spamlearn/`           |\n| `LOG_SPAMLEARN_FILE`                |             | `spamlearn.log`              |\n| `LOG_SPAMLEARN_TYPE`                |             | `FILE`                       |\n| `SPAMLEARN_CONFIG_FILE`             |             | `/etc/inotify/spamlearn.cfg` |\n| `SPAMLEARN_DELETE_AFTER_PROCESSING` |             | `TRUE`                       |\n| `SPAMLEARN_HAM_LOCATION`            |             | `/data/spamlearn/ham`        |\n| `SPAMLEARN_SPAM_LOCATION`           |             | `/data/spamlearn/spam`       |\n| `` | | `` |\n| `` | | `` |\n\n### Networking\n\n| Port   | Description             |\n| ------ | ----------------------- |\n| `11333` | Rspamd Port            |\n| `11334` | Rspamd Controller Port |\n\n## Maintenance\n### Shell Access\n\nFor debugging and maintenance purposes you may want access the containers shell.\n\n```bash\ndocker exec -it (whatever your container name is) bash\n```\n## Support\n\nThese images were built to serve a specific need in a production environment and gradually have had more functionality added based on requests from the community.\n### Usage\n- The [Discussions board](../../discussions) is a great place for working with the community on tips and tricks of using this image.\n- [Sponsor me](https://tiredofit.ca/sponsor) for personalized support\n### Bugfixes\n- Please, submit a [Bug Report](issues/new) if something isn't working as expected. I'll do my best to issue a fix in short order.\n\n### Feature Requests\n- Feel free to submit a feature request, however there is no guarantee that it will be added, or at what timeline.\n- [Sponsor me](https://tiredofit.ca/sponsor) regarding development of features.\n\n### Updates\n- Best effort to track upstream changes, More priority if I am actively using the image in a production environment.\n- [Sponsor me](https://tiredofit.ca/sponsor) for up to date releases.\n\n## License\nMIT. See [LICENSE](LICENSE) for more details.\n\n## References\n\n* \u003chttps://www.rspamd.org\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfrastack%2Fcontainer-rspamd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnfrastack%2Fcontainer-rspamd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfrastack%2Fcontainer-rspamd/lists"}