Docker files for NetXMS server, WEB UI and console

Started by rskolnik, October 19, 2016, 10:10:37 AM

Previous topic - Next topic

rskolnik

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.

Lukas

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


lomo

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.

Lukas

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

lomo

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

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

Lukas

Thanks for the info, docker-compose seems to be the proper and convenient way to have all-in-one solution :)

dbld

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

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