This article will guide you through the installation of the latest IceWarp build using Docker. You can download the build from Docker Hub. A free 30-day trial license will be obtained automatically.
Docker is supported on Windows, macOS, and Linux.
Quick Start
# docker-compose.yml
services:
icewarp:
image: icewarptechnology/icewarp-server:${ICEWARP_IMAGE:-14}
restart: unless-stopped
volumes:
- ./iwserver-data:/opt/icewarp-data
- ./iwserver-cache-bash-history:/commandhistory
environment:
- DEBUG
- ICEWARP_ADMIN_PASS
- ICEWARP_ADMIN_USER
- ICEWARP_DOMAIN
- ICEWARP_LICENSE
- ICEWARP_GENERATE_LETSENCRYPT
- ICEWARP_PUBLIC_HOSTNAME
- ICEWARP_USE_HTTPS
- LAFORGE_URL
- MARIADB_HOST
- MARIADB_ROOT_USER
- MARIADB_ROOT_PASSWORD
- REDIS_HOST
ports:
- "25:25/tcp" # SMTP
- "80:80/tcp" # HTTP
- "110:110/tcp" # POP3
- "143:143/tcp" # IMAP
- "443:443/tcp" # HTTPS
- "465:465/tcp" # SMTPS
- "587:587/tcp" # SMTP
- "993:993/tcp" # IMAPS
- "995:995/tcp" # POP3S
- "1080:1080/tcp" # SOCKS
- "5060:5060/udp" # SIP
- "5060:5060/tcp" # SIP
- "5061:5061/udp" # SIP
- "5222:5222/tcp" # XMLL
- "5223:5223/tcp" # XMPP TLS
- "5269:5269/tcp" # Groupware
depends_on:
- mariadb
- redis
laforge:
image: icewarptechnology/laforge:${LAFORGE_IMAGE:-2.2.3}
restart: unless-stopped
mariadb:
image: mariadb:${MARIADB_IMAGE:-10.6}
restart: unless-stopped
environment:
- MARIADB_ROOT_USER
- MARIADB_ROOT_PASSWORD
volumes:
- ./iwserver-mariadb:/var/lib/mysql
redis:
image: redis:${REDIS_IMAGE:-alpine}
restart: unless-stopped
command: "--appendonly yes"
volumes:
- ./iwserver-redis:/data
# .env ICEWARP_IMAGE=14.3 MARIADB_ROOT_PASSWORD=ChangeMe1 ICEWARP_PUBLIC_HOSTNAME=webmail.example.com ICEWARP_DOMAIN=example.com ICEWARP_ADMIN_PASS=ChangeMe2 REDIS_HOST=tcp://redis:6379
Environment variables
- ICEWARP_ADMIN_PASS - required - Admin account password
- ICEWARP_ADMIN_USER - required - Admin account username
- ICEWARP_DOMAIN - required - Primary mail domain
- ICEWARP_IMAGE - IceWarp Docker image tag
- ICEWARP_LICENSE - IceWarp license key
-
ICEWARP_GENERATE_LETSENCRYPT -
0/1- Generate self-signed certificate and Let’s Encrypt certificate - ICEWARP_PUBLIC_HOSTNAME - required - Public server hostname
-
ICEWARP_USE_HTTPS -
0/1- Enable HTTPS for services and automatic HTTP to HTTPS redirect - LAFORGE_IMAGE - Laforge Docker image tag
- LAFORGE_URL - Laforge service URL
- MARIADB_HOST - MariaDB server hostname
- MARIADB_ROOT_USER - MariaDB root username
- MARIADB_ROOT_PASSWORD - required - MariaDB root password
- REDIS_HOST - Redis server URL
- REDIS_IMAGE - Redis Docker image tag
Additional Configuration Variables
You can define extra IceWarp configuration variables by using the tool.sh syntax inside .conf files located in the custom_variables directory within IceWarp data path (/opt/icewarp-data/custom_variables inside the container).
Each line in a .conf file must follow this format:
set <section> <variable> <value> [<variable> <value> ...]
During container startup, the entrypoint automatically detects and applies all .conf files from custom_variables after loading the default configuration. This allows easy extension or override of default IceWarp settings without rebuilding the container.
For more information about how tool.sh works, please refer to our Knowledge Base article.
Troubleshooting
If you encounter any issues with this image, please refer to our Knowledge Base or reach out to our Support Team for assistance.
Update
- Pull latest image for your version:
docker compose pull - Recreate containers using the latest image:
docker compose up -d - IceWarp is updated.
Comments
0 comments
Article is closed for comments.