IceWarp EPOS is a full-featured mail and collaboration platform that you can install on your Hostinger VPS using Docker. This article will guide you through the process of deploying IceWarp in a containerized environment, using Docker Compose and environment variables for configuration.
Prepare your VPS and system requirements
Before you begin, make sure your Hostinger VPS meets the basic resource recommendations. For up to 10 users, allocate at least 2 vCPUs and 4 GB of RAM. If you expect more users or heavy usage (e.g., desktop sync clients), scale accordingly — IceWarp supports setups with 8+ vCPUs and 20+ GB RAM for larger deployments
Ensure your VPS is running a Hostinger VPS Docker template.
Download the example Docker compose file
Next, prepare your docker-compose.yml configuration file. IceWarp provides a reference file structure that includes all the services you’ll need — IceWarp, MariaDB, Redis, and Laforge (the thumbnail preview service). You can copy their official example and adjust it for your use case:
version: "3.9"
services:
icewarp:
image: ${ICW_IMAGE_VERSION:-icewarptechnology/icewarp-server:latest}
platform: ${ICW_IMAGE_PLATFORM:-linux/amd64}
command:
- "/usr/bin/supervisord"
- "--nodaemon"
- "-c"
- "/data/supervisord/supervisord.conf"
volumes:
- iwserver-data:/data
- iwserver-cache-bash-history:/commandhistory
environment:
LICENSE_ORDERID: "${LICENSE_ORDERID}"
ICW_DOMAIN: ${ICW_DOMAIN}
ADMIN_ACCOUNT_PASS: ${ADMIN_ACCOUNT_PASS}
ADMIN_ACCOUNT_USER: ${ADMIN_ACCOUNT_USER:-admin}
PUBLICHOSTNAME: ${PUBLICHOSTNAME}
PUBLICIP: ${PUBLICIP:-}
LOCALIP: ${LOCALIP:-}
DNSSERVER: ${DNSSERVER:-}
PREVIEWURL: ${PREVIEWURL:-http://laforge:25791}
MARIADB_HOST: mariadb
MARIADB_ROOT_USER: ${MARIADB_ROOT_USER:-root}
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
REDIS_HOST: tcp://redis:6379
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: ${LAFORGE_IMAGE_VERSION:-icewarptechnology/laforge:2.0.3}
environment:
LAFORGE_SERVER_HTTP_LISTEN: ${LAFORGE_SERVER_HTTP_LISTEN:-:25791}
ports:
- "25791:25791/tcp"
mariadb:
image: ${MARIADB_IMAGE_VERSION:-docker.io/library/mariadb:10.6}
environment:
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
volumes:
- iwserver-mariadb:/var/lib/mysql
redis:
image: ${REDIS_IMAGE_VERSION:-docker.io/library/redis:6}
command: "--appendonly yes"
volumes:
- iwserver-redis:/data
volumes:
iwserver-cache-bash-history:
iwserver-data:
iwserver-mariadb:
iwserver-redis:
Create the environment configuration file
To securely configure your IceWarp environment, create a file named icewarp.env. This file will hold your essential environment variables, such as your license key, admin credentials, and domain name.
Here’s a minimal example:
# mandatory options
# -----------------
# IceWarp license key
LICENSE_ORDERID="CHANGE_ME"
# MariaDB password
MARIADB_ROOT_PASSWORD=test1
# Precreated domain
ICW_DOMAIN=mydomain.net
# strongly recommended
# --------------------
# Precreated administrator account password, default username is admin
ADMIN_ACCOUNT_PASS=Testingpassword1
# MX domain
PUBLICHOSTNAME=mail.mydomain.net
# Configure Let’s Encrypt certificate for PUBLICHOSTNAME
CREATE_CERT="1"
Save this file in the same directory as your docker-compose.yml.
Deploy IceWarp using Docker compose
From the directory where your Docker files are saved, run the following command:
docker-compose --env-file icewarp.env -f docker-compose.yml up -d
Docker will begin pulling necessary containers (MariaDB, Redis, Laforge) and start the IceWarp services.
Access your IceWarp web interface
Once setup is complete, your IceWarp EPOS instance is running.
To access it, use the IP address of your VPS.
Log in with the credentials you specified in the icewarp.env file.
For more detailed IceWarp configuration options, advanced architecture planning, or multi-user scaling scenarios, refer to IceWarp’s official Architecture Guide or reach out to their support team.