NetXMS Support Forum

English Support => General Support => Topic started by: rskolnik on October 19, 2016, 10:10:37 AM

Title: Docker files for NetXMS server, WEB UI and console
Post by: rskolnik on October 19, 2016, 10:10:37 AM
My colleague Julius Loman who is a Docker fan/guru created automated (that means always latest version) docker files for NetXMS server, WEB UI and console:

So you just need to pull the images, create instances and off you go ;-) See instructions on hub for WEB UI and console. In case you have questions ask them here.
Title: Re: Docker files for NetXMS server, WEB UI and console
Post by: Lukas on October 21, 2016, 02:59:15 PM
Thanks, very nice and convenient for showing live preview of the latest version without much hassle  :)

Currently the netxms client reports
org.netxms.client.NXCException: Server uses incompatible version of communication protocol

Is it just a temporary problem caused by the fact that both images come from the latest build and  they may have different version information?

Best Regards,
Lukas
Title: Re: Docker files for NetXMS server, WEB UI and console
Post by: rskolnik on October 21, 2016, 03:41:46 PM
Works for me.
Title: Re: Docker files for NetXMS server, WEB UI and console
Post by: lomo on October 21, 2016, 03:58:51 PM
Quote from: Lukas on October 21, 2016, 02:59:15 PM
Thanks, very nice and convenient for showing live preview of the latest version without much hassle  :)

Currently the netxms client reports
org.netxms.client.NXCException: Server uses incompatible version of communication protocol

Is it just a temporary problem caused by the fact that both images come from the latest build and  they may have different version information?

Best Regards,
Lukas

It looks like the client version does not match NetXMS server version. I've build the docker images for latest release (2.0.6).
What server version are you running? I assume you are not running it from the docker image I've created.
Title: Re: Docker files for NetXMS server, WEB UI and console
Post by: Lukas on October 21, 2016, 04:47:22 PM
I am sorry, it was my mistake - of course I had another netxms server running at localhost listening at all interfaces :) It is pity that the error message is not more descriptive.

So now it works like a charm.

A bit more step-by-step guide for docker newbies (like me:)


# open your X-server
xhost +
# start container and give it some descriptive name so we can refer to it later
docker run --name=netxms-server-latest  lomo/netxms-server


# show me the container IP
docker exec netxms-server-latest ip a


# check that nxadm does something
docker exec netxms-server-latest nxadm -c "show stats"


# start nxmc
docker run -ti --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix lomo/netxms-nxmc
# login to server IP displayed in step 2 (172.17.0.2) as admin:netxms
Title: Re: Docker files for NetXMS server, WEB UI and console
Post by: lomo on October 21, 2016, 05:28:42 PM
If you are familiar with docker-compose, there is a more elegant approach to setup containers:

version: '2'

services:
  server:
    image: lomo/netxms-server
    ports:
    - "4700:4700"

  webui:
    image: lomo/netxms-webui
    ports:
    - "8080:8080"
    environment:
    - "NETXMS_SERVER=server"

  console:
    image: lomo/netxms-nxmc
    environment:
    - "DISPLAY=$DISPLAY"
    volumes:
    - "/tmp/.X11-unix:/tmp/.X11-unix"


Then you can startup your environment with
docker-compose up

WebGUI is then accessible at http://localhost:8080/nxmc/nxmc (http://localhost:8080/nxmc/nxmc)

Of course, if you close the native console you have to start the container again:
docker-compose start console
or start the container directly by docker start command
Title: Re: Docker files for NetXMS server, WEB UI and console
Post by: Lukas on November 01, 2016, 01:37:09 PM
Thanks for the info, docker-compose seems to be the proper and convenient way to have all-in-one solution :)
Title: Re: Docker files for NetXMS server, WEB UI and console
Post by: dbld on March 26, 2017, 10:42:33 AM
Hi @lomo

If one enables syslog in the container presumably one would need to expose that port by adding additional port to server port list?

I've tried this but after i modify compose file like so :

version: '2'

services:
  server:
    image: lomo/netxms-server
    ports:
    - "4700:4700"
    - "4701:4701"
    - "514:514"

  webui:
    image: lomo/netxms-webui
    ports:
    - "8080:8080"
    environment:
    - "NETXMS_SERVER=server"

  agent:
    image: lomo/netxms-nxagent
    environment:
    - "NXAGENT_CONFIG=MasterServer=server\nLogFile=/var/log/nxagentsome.log\nEnableProxy=yes\nEnableSNMPProxy=yes"
    - "NXAGENT_MASTERSERVERS=server"
    - "NXAGENT_REGISTERSERVER=server"


and server fails to start with :
server_1  | Error: could not find config file /etc/supervisor/conf.d/supervisord.conf
server_1  | For help, use /usr/bin/supervisord -h



Interesting part is that if i invoke "rm" and than "up" it binds nw port and starts server 




Quote from: lomo on October 21, 2016, 05:28:42 PM
If you are familiar with docker-compose, there is a more elegant approach to setup containers:

version: '2'

services:
  server:
    image: lomo/netxms-server
    ports:
    - "4700:4700"

  webui:
    image: lomo/netxms-webui
    ports:
    - "8080:8080"
    environment:
    - "NETXMS_SERVER=server"

  console:
    image: lomo/netxms-nxmc
    environment:
    - "DISPLAY=$DISPLAY"
    volumes:
    - "/tmp/.X11-unix:/tmp/.X11-unix"


Then you can startup your environment with
docker-compose up

WebGUI is then accessible at http://localhost:8080/nxmc/nxmc (http://localhost:8080/nxmc/nxmc)

Of course, if you close the native console you have to start the container again:
docker-compose start console
or start the container directly by docker start command