This would be perfect, however unfortunately UNMS is not one docker, its multiple.
I have however managed to get it working using docker-compose via ssh. Its not ideal but my none detailed version is below
1. Build VM
2. Install UNMS using the scripts inside the VM
3. Copy all files created (dockerfile etc in /home/unms) to a folder on your unRaid machine (i used /mnt/user/appdata/unms)
4. Created a user and group within unraid - i used (groupadd -g 1002 unms) for the group and (useradd -u 1002 -g 1002 -d /mnt/user/appdata/unms/ unms) for the user
5. changed ownership on all files in /mnt/user/appdata/unms (just for consistancy)
I then i had to modify the docker file, see attached my example docker file the items i changed were related to network (i was already using ports so i decided to give the public dockers there own public ip address
my amendments are for the sections (modifications should be pretty clear based on reading through your file)
networks:
br0:
external: true
internal:
internal: true
for this then, everywhere you see "public" change to "br0" under networks, example below, you also need to modify the "volumes" section and replace /home with whatever path you set up. and also the UID (1002 in my case) needs to be updated wherever you see that.
fluentd:
container_name: unms-fluentd
build:
context: ./fluentd
dockerfile: Dockerfile
args:
- http_proxy=
- HTTP_PROXY=
- https_proxy=
- HTTPS_PROXY=
- no_proxy=
- NO_PROXY=
# if we specify an image name, docker-compose will try to pull it from repository
# see https://github.com/docker/compose/issues/3673
# image: ubnt/unms-fluentd:local
restart: always
networks:
- br0
ports:
- "127.0.0.1:24224:24224"
volumes:
- /mnt/user/appdata/unms/app/conf/fluentd.conf:/etc/fluent/fluent.conf
- /mnt/user/appdata/unms/data/logs:/fluentd/log
environment:
- FLUENTD_UID=1002
the only additional bit would be if you want a static ip (which you probably do) for the unms interface which case you want the below, you can see the networks section is slightly different, in this case i want my ip to be static at 192.168.1.253. the reason for this is that you want your ubi devices to be able to connect to it, in my case i wanted a static ip specifically for the docker because ports 443 and 80 were already in use, and i didnt want to mess around trying to get UNMS working with different ports.
nginx:
image: ubnt/unms-nginx:0.11.3
container_name: unms-nginx
restart: always
networks:
br0:
ipv4_address: 192.168.1.253
volumes:
- /mnt/user/appdata/unms/data/cert:/cert
- /mnt/user/appdata/unms/data/firmwares:/www/firmwares
depends_on:
- unms
- fluentd
logging:
driver: fluentd
options:
tag: "nginx"
fluentd-async-connect: "true"
environment:
- NGINX_UID=1002
- SSL_CERT=
- SSL_CERT_KEY=
- SSL_CERT_CA=
- HTTP_PORT=80
- HTTPS_PORT=443
- WS_PORT=
- UNMS_HTTP_PORT=8081
- UNMS_WS_PORT=8082
- PUBLIC_HTTPS_PORT=443
- SECURE_LINK_SECRET=YvQfyu8lwfZjuXMCUiE1tXhf1ggBM7leT7GPs5FXRUvgdWvfwxFlpdwS69mn5AUNJpf9Cl1f9wtzqtDTFoglBdEjRz9cI5ijGBKy
feel free to ask any questions and ill try to clarify, this obviously doesnt look great in the interface ( see screenshot)
dont even ask why its showing minecraft blocks as the image haha. You will have to get the docker-compose ( i added the below lines to my /boot/config/go file
curl -L https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
then once you have a modified docker-compose file you can run docker-compose up -d and it should create everything needed
(i havent tried it but then you can start and stop the vms via the GUI, however they do rely on one another, so you need to remember which order to start them in, however they shoudl recover if you start them in the wrong order anyway)