Skip to content
LiveStart building for free · CA$100 signup credit, up to CA$300 totalCA$1 verification payment credited back · Ends December 31, 2026
Get started for free →

IceWarp

IceWarp is a business collaboration platform for email, WebClient, TeamChat, video conferencing, file sharing, and document collaboration. The ZCP image runs IceWarp Server with its supporting database and cache services on Ubuntu 24.04.

ComponentVersion
IceWarp Server14.3.0.9
Laforge2.2.3
IceWarp container14.3.0.9
MariaDB10.6
Redis7 Alpine
DockerLatest stable
Docker Compose pluginLatest stable
Ubuntu24.04 LTS

The image uses the pinned container image icewarptechnology/icewarp-server:14.3.0.9.

ResourceMinimumRecommended
vCPU24
RAM4 GB8 GB
Storage80 GB200 GB+

IceWarp is stateful. Mailboxes, calendars, uploaded files, MariaDB data, Redis data, logs, cache, configuration, and collaboration state can grow over time.

If deployment variable fields are available in your launch flow, use them there. Otherwise, provide the same values through user data that writes /etc/zmi/deploy.env, or configure them after first boot. Leave password fields blank to have secure random values generated where supported.

VariableDescription
ICEWARP_PUBLIC_HOSTNAMEPublic hostname for WebClient/Admin, such as mail.example.com
ICEWARP_DOMAINPrimary mail domain, such as example.com
ICEWARP_ADMIN_USERInitial IceWarp admin username. Defaults to admin
ICEWARP_ADMIN_PASSInitial IceWarp admin password
ICEWARP_ADMIN_PASSWORDCompatibility alias for ICEWARP_ADMIN_PASS
ICEWARP_LICENSEIceWarp license key, or blank if using the trial flow
ICEWARP_GENERATE_LETSENCRYPT0 or 1; enable only after DNS points to the VM
ICEWARP_USE_HTTPS0 or 1; enables HTTPS after DNS and TLS are configured
MARIADB_ROOT_PASSWORDInternal MariaDB root password
ssh ubuntu@<your-vm-ip>

On first boot, IceWarp reads /etc/zmi/deploy.env, starts the Docker Compose stack, configures the domain and admin account, and writes credentials to a root-only file. Track progress:

sudo journalctl -u icewarp-first-boot.service -f
sudo cat /etc/icewarp/credentials.txt

For first login, use an SSH tunnel from your workstation:

ssh -L 8080:127.0.0.1:80 ubuntu@<your-vm-ip>

Then open the WebClient or admin interface at:

http://127.0.0.1:8080/
http://127.0.0.1:8080/admin/

Do not submit administrator credentials to a public HTTP URL. For direct public access, first point ICEWARP_PUBLIC_HOSTNAME DNS to the VM, configure a valid TLS certificate, set ICEWARP_USE_HTTPS=1, then use https://<your-public-hostname>/ or https://<your-public-hostname>/admin/.

IceWarp runs as a Docker Compose stack in /opt/icewarp.

# Check status
cd /opt/icewarp && sudo docker compose ps
# Restart
cd /opt/icewarp && sudo docker compose restart
# View logs
cd /opt/icewarp && sudo docker compose logs -f

Important paths:

PathPurpose
/opt/icewarp/docker-compose.ymlCompose stack
/opt/icewarp/.envRoot-only runtime secrets
/etc/icewarp/credentials.txtRoot-only generated credentials
/etc/icewarp/info.txtSetup and operation notes
/data/icewarpPreferred persistent app data
/var/lib/icewarpFallback persistent app data

The VM firewall allows common IceWarp service ports. Expose only the ports you need at the ZCP network or port-forward layer.

PortProtocolPurpose
22TCPSSH
80TCPHTTP WebClient/Admin
443TCPHTTPS WebClient/Admin
25TCPSMTP
465TCPSMTPS
587TCPSMTP submission
110TCPPOP3
995TCPPOP3S
143TCPIMAP
993TCPIMAPS
1080TCPSOCKS/control service
5222, 5223TCPXMPP client access
5229TCPCollaboration service
5269TCPXMPP server federation
5060TCP/UDPSIP
5061UDPSIP TLS
10000-10010UDPMedia/RTP range

Production mail and collaboration require DNS planning:

  • A or AAAA record for the public hostname
  • MX record for the mail domain
  • SPF, DKIM, and DMARC records
  • PTR/rDNS for the sending IP
  • TLS certificate after DNS points to the VM

Port 25 may be restricted by the cloud provider or upstream network policy. If outbound mail is blocked, use an approved relay or request the required policy exception through your provider.

IceWarp requires a valid license or successful trial activation. If trial activation is unavailable, provide a valid ICEWARP_LICENSE during deployment and retry on a fresh VM.

Change generated credentials after first login and do not reuse them across VMs. For production, serve IceWarp through a DNS name with TLS and expose only the mail and web ports you need.

Last updated: