Maintained by: The Axigen Messaging Team
Where to get help:
Dockerfile linksAxigen follows the Semantic Versioning 2.0.0 convention. As such, Releases will be named MAJOR.MINOR.PATCH (e.g. 10.3.3, 10.4.0) whereas pre-releases will be suffixed with the appropriate string (e.g. 10.4.0-beta15, 10.4.0-rc1, etc). For pre-releases, a MAJOR.MINOR-edge floating tag is set, always following the latest pre-release of the respective minor Axigen version. For example, at the time of this writing, 10.4-edge corresponds to 10.4.0-rc3.
Axigen Mail Server (or simply Axigen) is a full featured email server solution, implementing both MTA and mailstore/mailbox functionalities through standard protocols (SMTP, IMAP, POP3, HTTP) as well as proprietary components such as a browser based, fully featured client (Axigen WebMail).
# docker run --name=axigen -dt -v <volume>:/axigen/var -p 443:443 -p 9443:9443 -p 993:993 -p 995:995 -p 25:25 -p 465:465 -p 9000:9000 -p 7000:7000 axigen/axigen:10.4.3
The following options are used:
When the Axigen data volume (be it a Docker volume or a bind mount) is first used in the container, it will be initialized. Upon creation, the container will also be started.
Check that the container is running:
# docker ps -f name=axigen
The output should display a running container, along with the port mapping and other information:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
03fa1abc15d2 axigen/axigen "/bin/sh -c /app/run…" 6 minutes ago Up 6 minutes 80/tcp, 110/tcp, 0.0.0.0:25->25/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:465->465/tcp, 0.0.0.0:993->993/tcp, 143/tcp, 0.0.0.0:995->995/tcp, 0.0.0.0:9000->9000/tcp, 0.0.0.0:9443->9443/tcp, 8443/tcp axigen
At this point, if the WebAdmin port was mapped (-p 9443:9443), the Axigen WebAdmin interface should be accessible via the host IP: https://localhost:9443/. Note that by default the Axigen image uses a self-signed SSL certificate. This will cause your browser to issue a warning when you access the WebAdmin and WebMail. The default certificates can be replaced via WebAdmin.
Like any container, the Axigen container may be operated using either the container name (i.e. axigen in our example) or the <container_id>. The <container_id> is obtained from the output of the docker ps command. Axigen containers (including stopped ones) may be viewed with the docker ps -a -f ancestor=axigen/axigen[:<image_tag>] command.
A running Axigen container may be stopped by using the docker stop axigen command. When a container is stopped, its full state is preserved, only the Axigen process is stopped.
A stopped Axigen container may be started by using the docker start axigen command. You can as well restart the container (also restarts the Axigen service) by using the docker restart axigen command
An important point is that the Axigen instance data is not stored in the container itself. The container holds just package files (binaries and so on), while the instance data is stored in the "/axigen/var" volume also referred to as the Axigen Data Volume. This is where the actual server configuration and the server (mailbox / users) data are located. A container may be deleted, upgraded (new container created from a newer image), stopped, started, and the server data will be preserved, as long as the Docker volume which is mapped upon container startup is preserved.
docker run --name=axigen -dt -v <volume>:/axigen/var -p 443:443 -p 9443:9443 -p 993:993 -p 995:995 -p 25:25 -p 465:465 -p 9000:9000 -p 7000:7000 axigen/axigen
In many scenarios, particularly those where Axigen is used for outbound delivery, without a smarthost (i.e. directly to the internet), it is required that the outbound EHLO identification string to be valid; by default, Axigen using the system's hostname for that. In containers, the default hostname for a container is an ID, not a valid internet FQDN. For that purpose, you can use Docker's -h option to set a specific hostname for the container. Example:
docker run --name=axigen -h myhost.example.com -dt -v <volume>:/axigen/var -p 443:443 -p 9443:9443 -p 993:993 -p 995:995 -p 25:25 -p 465:465 -p 9000:9000 -p 7000:7000 axigen/axigen
More details about Axigen's handling of EHLO identification string and the system's hostname in the dedicated KB Article.
Passing envrionment variables through the docker run command (-e flag) allows the administrator to control some of the Axigen service options.
LICENSE_FILEContainer relative path to the license file. Typically, the license file is mounted in the container through the use of the -v Docker run flag. Example:
docker run -dt -v /host/path/axigen_lk.bin:/axigen_lk.bin -e LICENSE_FILE=/axigen_lk.bin axigen/axigen `
ADMIN_PASSWORDThe password for the admin account, for access via both WebAdmin and CLI. This applies both when the container is started with a new data directory (/axigen/var) and when it is started with an existing data directory. If not specified, the admin password is not changed, thus preserving the existing one (already set in the existing data directory /axigen/var).
AXIGEN_MAX_RESPAWNSThe equivalent of the command line Axigen parameter --max-respawns. Details in the Command-line Parameters Documentation.
AXIGEN_MAX_MEMORYThe equivalent of the command line Axigen parameter -m. Details in the Command-line Parameters Documentation.
AXIGEN_STOP_TIMEOUTThe equivalent of the command line Axigen parameter --stop-timeout. Details in the Command-line Parameters Documentation.
DEBUGLEVELThe equivalent of the command line Axigen parameter --debuglevel. Details in the Command-line Parameters Documentation. If this environment variable is set, --noabort is also automatically added to the command line.
Content type
Image
Digest
sha256:ef0efb546…
Size
241.4 MB
Last updated
8 days ago
docker pull axigen/axigen