We have prepared an installation guide for everyone who wants to run the latest version of IceWarp called EPOS in Docker. To get the latest information with the latest build, visit Docker Hub.
To finish the installation of IceWarp in Docker successfully, you will need to know the basics of Docker and download Docker and Docker Compose.
It does not matter if you want docker on your Windows OS, MacOS or Linux machine.
To learn more about Docker, visit their website.
INSTALLATION STEPS:
1. Start with the following command to download Epos
docker pull icewarptechnology/icewarp-server:latest
2. Download an example docker-compose
This .yml file is the only example!
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:
Please remember that IceWarp is not responsible for any development or modifications of MariaDB.
Redis Is an open-source (BSD licensed), in-memory data structure store used as a database, cache, and message broker.
MariaDB Server is a high-performing open-source relational database forked from MySQL.
In the .env file, you can specify exact things like the version of IceWarp, OrderID, hostname, admin account, MariaDB password, etc.
3. Env file contains credentials in key-value format for services used by the program they're building. They are meant to be stored locally and not uploaded to code repositories online for everyone to read.
4. Your .env file, for example, can look like this:
LICENSE_ORDERID="CHANGE_ME"
MARIADB_ROOT_PASSWORD=test1
PUBLICHOSTNAME=mail.mydomain.net
ICW_DOMAIN=mydomain.net
ADMIN_ACCOUNT_PASS=Testingpassword1
CREATE_CERT="1"
A full list of the ENV used in the container can be found official IceWarp docker hub site.
5. After configuring this .env file, feel free to use this command (to be typed in one line):
docker-compose --env-file .env -f docker-compose.yml up
By this command, you will be able to see pulling MariaDB, Redis, and Laforge being downloaded from the docker hub, and after that, you will see the whole installation process.
You would need to be in the folder where the docker-compose file is located!
6. Give it a few minutes to complete the task.
This is what running IceWarp EPOS in Docker looks like:
docker-icewarp-1 | 2023-01-30 10:01:05,002 INFO Included extra file "/data/supervisord/supervisord.d/icewarp-cal.conf" during parsing
docker-icewarp-1 | 2023-01-30 10:01:05,004 INFO Included extra file "/data/supervisord/supervisord.d/icewarp-control.conf" during parsing docker-icewarp-1 | 2023-01-30 10:01:05,004 INFO Included extra file "/data/supervisord/supervisord.d/icewarp-im.conf" during parsing
docker-icewarp-1 | 2023-01-30 10:01:05,004 INFO Included extra file "/data/supervisord/supervisord.d/icewarp-pop3.conf" during parsing
docker-icewarp-1 | 2023-01-30 10:01:05,004 INFO Included extra file "/data/supervisord/supervisord.d/icewarp-smtp.conf" during parsing
docker-icewarp-1 | 2023-01-30 10:01:05,005 INFO Set uid to user 0 succeeded docker-icewarp-1 | 2023-01-30 10:01:05,025 INFO RPC interface 'supervisor' initialized
docker-icewarp-1 | 2023-01-30 10:01:05,025 CRIT Server 'unix_http_server' running without any HTTP authentication checking
docker-icewarp-1 | 2023-01-30 10:01:05,027 INFO supervisord started with pid 1
docker-icewarp-1 | 2023-01-30 10:01:06,044 INFO spawned: 'icewarp-cal' with pid 169
docker-icewarp-1 | 2023-01-30 10:01:06,056 INFO spawned: 'icewarp-control' with pid 171
docker-icewarp-1 | 2023-01-30 10:01:06,062 INFO spawned: 'icewarp-im' with pid 173
docker-icewarp-1 | 2023-01-30 10:01:06,070 INFO spawned: 'icewarp-pop3' with pid 175
docker-icewarp-1 | 2023-01-30 10:01:06,076 INFO spawned: 'icewarp-smtp' with pid 176
docker-icewarp-1 | 2023-01-30 10:01:07,084 INFO success: icewarp-cal entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
docker-icewarp-1 | 2023-01-30 10:01:07,084 INFO success: icewarp-control entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
docker-icewarp-1 | 2023-01-30 10:01:07,085 INFO success: icewarp-im entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
docker-icewarp-1 | 2023-01-30 10:01:07,085 INFO success: icewarp-pop3 entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
docker-icewarp-1 | 2023-01-30 10:01:07,085 INFO success: icewarp-smtp entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
If you see “INFO success:” a few times in a row, you correctly set up everything, and your EPOS runs on localhost. You can access it on your local host. You will see the reason in the log through the Terminal window when the installation fails.
7. If you are setting this up on your machine, for example, a virtual server, go to your internet browser and enter this IP (127.0.0.1) into your search bar, enter your login credentials to the admin account and hit the “Log in” button. If you are setting this up on a remote machine, enter the public IP.
IceWarp EPOS installation in Docker is now complete.
Comments
0 comments
Article is closed for comments.