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:
- https://hub.docker.com/r/lomo/netxms-server/ (https://hub.docker.com/r/lomo/netxms-server/)
- https://hub.docker.com/r/lomo/netxms-webui/ (https://hub.docker.com/r/lomo/netxms-webui/)
- https://hub.docker.com/r/lomo/netxms-nxmc/ (https://hub.docker.com/r/lomo/netxms-nxmc/)
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.
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
Works for me.
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.
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
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
Thanks for the info, docker-compose seems to be the proper and convenient way to have all-in-one solution :)
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