You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Full documentation is available at: [https://jeboehm.github.io/docker-mailserver/](https://jeboehm.github.io/docker-mailserver/)**
15
+
16
+
The documentation includes:
17
+
18
+
- Complete installation guides for Docker and Kubernetes
19
+
- Configuration reference for all environment variables
20
+
- Deployment examples and recipes
21
+
- Architecture and development guides
22
+
15
23
## Features
16
24
17
25
- Secure email protocols: POP3, IMAP, and SMTP with user authentication
18
26
- Web-based management interface for account, domain, and alias administration
19
-
- Intuitive webmail interface
20
-
- Fetchmail integration to retrieve emails from external providers
21
-
- DKIM message signing for email authenticity
22
-
- Server-side mail filtering with configurable rules via a web frontend
23
-
- Spam filter training by simply moving emails to or from the junk folder
27
+
- Integrated webmail interface
28
+
- DKIM message signing and spam filtering with Rspamd
24
29
- Real-time spam prevention using RBLs (Real-Time Blackhole Lists)
25
-
- Selective greylisting for likely spam
26
-
- Support for catch-all email addresses
27
-
- Support for send-only accounts restricted from receiving emails
30
+
- Fetchmail integration for external mail retrieval
31
+
- Quota management, catch-all addresses, and send-only accounts
28
32
- Restriction of sender addresses for enhanced security
29
-
- Configurable address extensions using the '-' delimiter
30
-
- Quota management with notifications when quotas are exceeded
31
-
- Enforced TLS for secure communication
32
-
- Full-text search (FTS) support for efficient message searching
33
-
- Continuous self-monitoring via Docker healthcheck
34
-
- Developed with a strong focus on quality assurance
33
+
- Full-text search and enforced TLS
34
+
- Continuous health monitoring
35
35
36
-
## Installation
36
+
See the [documentation](https://jeboehm.github.io/docker-mailserver/) for a complete feature list.
37
37
38
-
### Download
38
+
##Quick Start
39
39
40
-
Download the latest release from the [Releases](https://github.com/jeboehm/docker-mailserver/releases) page and unpack the archive (release-vX.X.X.tar.gz).
41
-
If you are an advanced user, you can also download the source code from GitHub:
40
+
Download the latest release from the [Releases](https://github.com/jeboehm/docker-mailserver/releases) page, or clone the repository:
Do not use the `latest` container image tag for production deployments. Use a specific version instead.
48
-
For example, use `jeboehm/mailserver-mta:6.3` instead of `jeboehm/mailserver-mta:latest`.
49
-
50
-
### Run on Docker
51
-
52
-
1. Copy the file `.env.dist` to `.env` and open it in a text editor.
53
-
Change the variables in it according to your needs. They are described in the [docs](docs/ENVIRONMENT_VARIABLES.md).
54
-
2. To download the Docker images, run `bin/production.sh pull`.
55
-
3. To start the services, run `bin/production.sh up -d --wait`. This will wait for all services to be ready before continuing.
56
-
4. After a few seconds, you can access the services listed in the section [Ports overview](#ports-overview).
57
-
5. Start the installation wizard by running `bin/production.sh run --rm web setup.sh`. This will ask you a few questions to set everything up and create your first email address and an admin user.
58
-
6. Now you can log in to the management interface with your new account credentials.
59
-
60
-
### Run On Kubernetes (K8s)
61
-
62
-
Kubernetes deployment is fully supported. You can use the `kustomization.yaml` file to deploy the mailserver to your Kubernetes cluster.
63
-
64
-
**Important:** Installing on Kubernetes requires an existing MySQL-compatible database (for example, MySQL or Percona XtraDB).
65
-
The provided kustomization does not provision a database. Configure the database connection in your `.env` and supply
66
-
credentials as Kubernetes Secrets before applying the manifests. See the
67
-
[Kustomize External Database and HTTPS Ingress Example](docs/example-configs/kustomize/external-db-and-https-ingress/README.md)
68
-
and the documentation [Use another MySQL instance](docs/EXTERNAL_MYSQL.md) for details.
69
-
70
-
1. Copy the file `.env.dist` to `.env` and open it in a text editor.
71
-
Change the variables in it according to your needs. They are described in the [docs](docs/ENVIRONMENT_VARIABLES.md).
72
-
2. Create a namespace for the mailserver by running `kubectl create namespace mail`.
73
-
3. To create self-signed TLS certificates, run `bin/create-tls-certs.sh`. You'll need them when you don't plan to use tools like `cert-manager`.
74
-
4. Create a Kubernetes secret for the TLS certificates by running `kubectl create -n mail secret tls tls-certs --cert=config/tls/tls.crt --key=config/tls/tls.key`.
75
-
5. Apply the kustomize manifests by running `kubectl apply -n mail -k .`.
76
-
6. When the pods are up and healthy, start the installation wizard by executing `setup.sh` in the php-fpm container of the web pod. This will ask you a few questions to set everything up and create your first email address and an admin user.
77
-
7. Now you can log in to the management interface with your new account credentials on the configured ingress.
**Important:** Do not use the `latest` container image tag for production deployments. Use a specific version instead (e.g., `jeboehm/mailserver-mta:6.3`).
47
+
48
+
For detailed installation instructions, see the [Installation Guide](https://jeboehm.github.io/docker-mailserver/INSTALLATION/) in the documentation.
111
49
112
50
## Screenshots
113
51
@@ -125,16 +63,9 @@ and the documentation [Use another MySQL instance](docs/EXTERNAL_MYSQL.md) for d
0 commit comments