{"id":279,"date":"2025-07-22T13:16:00","date_gmt":"2025-07-22T13:16:00","guid":{"rendered":"https:\/\/blog.hostinger.io\/support\/2025\/07\/22\/11823362-how-to-install-icewarp-epos-on-hostinger-vps\/"},"modified":"2025-07-22T13:16:00","modified_gmt":"2025-07-22T13:16:00","slug":"11823362-how-to-install-icewarp-epos-on-hostinger-vps","status":"publish","type":"post","link":"https:\/\/www.hostinger.com\/support\/11823362-how-to-install-icewarp-epos-on-hostinger-vps\/","title":{"rendered":"How to Install IceWarp EPOS on Hostinger VPS"},"content":{"rendered":"<p class=\"no-margin\"><a href=\"https:\/\/www.icewarp.com\/\" target=\"_blank\" class=\"intercom-content-link\" rel=\"noopener\">IceWarp<\/a> 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.<\/p><p class=\"no-margin\">\n<\/p><h2 id=\"h_7535e5e123\"><b>Prepare your VPS and system requirements<\/b><\/h2><p class=\"no-margin\">Before you begin, make sure your Hostinger VPS meets the basic resource recommendations. For up to 10 users, allocate at least <b>2 vCPUs and 4 GB of RAM<\/b>. If you expect more users or heavy usage (e.g., desktop sync clients), scale accordingly &mdash; IceWarp supports setups with 8+ vCPUs and 20+ GB RAM for larger deployments<\/p><p class=\"no-margin\">\n<\/p><div class=\"intercom-interblocks-callout\" style=\"background-color: #e3e7fa80;border-color: #334bfa33\">\n<p class=\"no-margin\">Ensure your VPS is running a Hostinger VPS Docker template.<\/p>\n<\/div><p class=\"no-margin\">\n<\/p><h2 id=\"h_999bc33ed8\"><b>Download the example Docker compose file<\/b><\/h2><p class=\"no-margin\">Next, prepare your docker-compose.yml configuration file. IceWarp provides a reference file structure that includes all the services you&rsquo;ll need &mdash; IceWarp, MariaDB, Redis, and Laforge (the thumbnail preview service). You can copy their official example and adjust it for your use case:<\/p><pre><code>version: \"3.9\"<br><br>services:<br>  icewarp:<br>    image: ${ICW_IMAGE_VERSION:-icewarptechnology\/icewarp-server:latest}<br>    platform: ${ICW_IMAGE_PLATFORM:-linux\/amd64}<br>    command:<br>      - \"\/usr\/bin\/supervisord\"<br>      - \"--nodaemon\"<br>      - \"-c\"<br>      - \"\/data\/supervisord\/supervisord.conf\"<br>    volumes:<br>      - iwserver-data:\/data<br>      - iwserver-cache-bash-history:\/commandhistory<br>    environment:<br>      LICENSE_ORDERID: \"${LICENSE_ORDERID}\"<br>      ICW_DOMAIN: ${ICW_DOMAIN}<br>      ADMIN_ACCOUNT_PASS: ${ADMIN_ACCOUNT_PASS}<br>      ADMIN_ACCOUNT_USER: ${ADMIN_ACCOUNT_USER:-admin}<br>      PUBLICHOSTNAME: ${PUBLICHOSTNAME}<br>      PUBLICIP: ${PUBLICIP:-}<br>      LOCALIP: ${LOCALIP:-}<br>      DNSSERVER: ${DNSSERVER:-}<br>      PREVIEWURL: ${PREVIEWURL:-http:\/\/laforge:25791}<br>      MARIADB_HOST: mariadb<br>      MARIADB_ROOT_USER: ${MARIADB_ROOT_USER:-root}<br>      MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}<br>      REDIS_HOST: tcp:\/\/redis:6379<br>    ports:<br>      - \"25:25\/tcp\" # SMTP<br>      - \"80:80\/tcp\" # HTTP<br>      - \"110:110\/tcp\" # POP3<br>      - \"143:143\/tcp\" # IMAP<br>      - \"443:443\/tcp\" # HTTPS<br>      - \"465:465\/tcp\" # SMTPS<br>      - \"587:587\/tcp\" # SMTP<br>      - \"993:993\/tcp\" # IMAPS<br>      - \"995:995\/tcp\" # POP3S<br>      - \"1080:1080\/tcp\" # SOCKS<br>      - \"5060:5060\/udp\" # SIP<br>      - \"5060:5060\/tcp\" # SIP<br>      - \"5061:5061\/udp\" # SIP<br>      - \"5222:5222\/tcp\" # XMLL<br>      - \"5223:5223\/tcp\" # XMPP TLS<br>      - \"5269:5269\/tcp\" # Groupware<br>    depends_on:<br>      - mariadb<br>      - redis<br><br>  laforge:<br>    image: ${LAFORGE_IMAGE_VERSION:-icewarptechnology\/laforge:2.0.3}<br>    environment:<br>      LAFORGE_SERVER_HTTP_LISTEN: ${LAFORGE_SERVER_HTTP_LISTEN:-:25791}<br>    ports:<br>      - \"25791:25791\/tcp\"<br><br>  mariadb:<br>    image: ${MARIADB_IMAGE_VERSION:-docker.io\/library\/mariadb:10.6}<br>    environment:<br>      MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}<br>    volumes:<br>      - iwserver-mariadb:\/var\/lib\/mysql<br><br>  redis:<br>    image: ${REDIS_IMAGE_VERSION:-docker.io\/library\/redis:6}<br>    command: \"--appendonly yes\"<br>    volumes:<br>      - iwserver-redis:\/data<br><br>volumes:<br>  iwserver-cache-bash-history:<br>  iwserver-data:<br>  iwserver-mariadb:<br>  iwserver-redis:<\/code><\/pre><p class=\"no-margin\">\n<\/p><h2 id=\"h_36c1288804\"><b>Create the environment configuration file<\/b><\/h2><p class=\"no-margin\">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.<\/p><p class=\"no-margin\">\n<\/p><p class=\"no-margin\">Here&rsquo;s a minimal example:<\/p><pre><code># mandatory options<br># -----------------<br><br># IceWarp license key<br>LICENSE_ORDERID=\"CHANGE_ME\"<br># MariaDB password<br>MARIADB_ROOT_PASSWORD=test1<br># Precreated domain<br>ICW_DOMAIN=mydomain.net<br><br># strongly recommended<br># --------------------<br># Precreated administrator account password, default username is admin<br>ADMIN_ACCOUNT_PASS=Testingpassword1<br># MX domain<br>PUBLICHOSTNAME=mail.mydomain.net<br># Configure Let&rsquo;s Encrypt certificate for PUBLICHOSTNAME<br>CREATE_CERT=\"1\"<\/code><\/pre><p class=\"no-margin\">Save this file in the same directory as your docker-compose.yml.<\/p><p class=\"no-margin\">\n<\/p><h2 id=\"h_782855d196\"><b>Deploy IceWarp using Docker compose<\/b><\/h2><p class=\"no-margin\">From the directory where your Docker files are saved, run the following command:<\/p><pre><code>docker-compose --env-file icewarp.env -f docker-compose.yml up -d<\/code><\/pre><p class=\"no-margin\">Docker will begin pulling necessary containers (MariaDB, Redis, Laforge) and start the IceWarp services.<\/p><p class=\"no-margin\">\n<\/p><h2 id=\"h_ce64aa6d2c\"><b>Access your IceWarp web interface<\/b><\/h2><p class=\"no-margin\">Once setup is complete, your IceWarp EPOS instance is running.<\/p><p class=\"no-margin\">\n<\/p><p class=\"no-margin\">To access it, use the<b> IP address<\/b> of your VPS.<\/p><p class=\"no-margin\">\n<\/p><p class=\"no-margin\">Log in with the credentials you specified in the icewarp.env file.<\/p><p class=\"no-margin\">\n<\/p><p class=\"no-margin\">For more detailed IceWarp configuration options, advanced architecture planning, or multi-user scaling scenarios, refer to IceWarp&rsquo;s official <a href=\"https:\/\/support.icewarp.com\/hc\/en-us\/articles\/16576996201745\" target=\"_blank\" class=\"intercom-content-link\" rel=\"noopener\">Architecture Guide<\/a> or reach out to their support team.<\/p><p class=\"no-margin\">\n<\/p><p class=\"no-margin\">\n<\/p><p class=\"no-margin\">\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Step by step guide on how to install IceWarp on a VPS<\/p>\n","protected":false},"author":581,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"include_on_kodee":true,"footnotes":""},"categories":[199],"tags":[],"class_list":["post-279","post","type-post","status-publish","format-standard","hentry","category-vps-management"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/support\/11823362-how-to-install-icewarp-epos-on-hostinger-vps\/","default":1}],"include_on_kodee":true,"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts\/279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/users\/581"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/comments?post=279"}],"version-history":[{"count":0,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/posts\/279\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/media?parent=279"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/categories?post=279"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/support\/wp-json\/wp\/v2\/tags?post=279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}