Docker

We would recommend using Docker build. It is easier to install and maintain.

Please follow these steps:

  1. Get Docker, if you already don't have it. Installation packages and instructions per platform can be found here.
  2. Create a VOLUME, which will be used to store the data. Let's name it msdata. To do it, execute the following docker command:

    docker create volume msdata

  3. Pull agms image from Docker Hub by executing the command:

    docker pull argosoft/agms

  4. That's all. We are ready to go. To start the sever, run the following command:

    docker run --name agms -d --rm -v msdata:/app/Data -e TZ='America/Toronto' -p 143:143 -p 25:25 -p 110:110 -p 587:587 -p 6060:6060 -p 6061:6061 -p 80:80 -p 443:443 argosoft/agms

    Here is the explanation of the parameters:

    • --name agms - names the container agms to refer to it by name, rather than container id (optional, but helpful);
    • -d - requests to run the container in a "detached" mode, as a "service". If you would like to run it in interactive mode, use the parameter -it;
    • --rm - requests to remove the container after it is stopped (again, optional, but helpful);
    • -v msdata:/app/Data - mounts the volume we created in step 2 to the /app/Data folder in the container. The server will run if this parameter is skipped, but without the use of "external" volume everything will be saved inside of container and lost when it is stopped;
    • -e TZ='America/Toronto' - sets the container environment variable TZ to local timezone. Optional, but useful to view logs and similar. Available time zone values can be obtained by timedatectl list-timezones.
    • -p - Port mapping. Making internal docker container ports visible. Left number in xxx:xxx pairs is the port on the machine we are running the container on, and the right number is the internal port of container. If you are planning to use different ports, you should change above values.
    • argosoft/agms - the name of the image we want to run.

    Now we have out server running. To stop it issue the following command:

    docker stop agms

Updates of the Docker version are very easy:

  1. Stop the container:

    docker stop agms

  2. Pull new image:

    docker pull argosoft/agms

  3. Start the container again:

    docker run --name agms -d --rm -v msdata:/app/Data -p 143:143 -p 25:25 -p 110:110 -p 587:587 -p 6060:6060 -p 6061:6061 -p 80:80 -p 443:443 argosoft/agms

Now we are ready to set up and control the server.