Openmediavault and Docker

Hi
I have a OMV server with docker and portainer. Is it possible /easy to install Brewblox on this? Or is it a bad idea?

It will work just fine. If your OMV server uses HTTP/HTTPS/MQTT ports, you can configure Brewblox to use others. You’ll want to stop the OMV container(s) when installing or updating Brewblox, but this is not a daily hassle.

Performance issues depend on your hardware. I wouldn’t do this on a Pi 2, but it’s workable on a 3, and absolutely no problem on a 4 or most desktop/server computers.

It’s also possible to unify the system, and add the OMV container to the Brewblox docker-compose configuration. This gives you a single stop/start button for everything running on your system, and does not require the containers to interact with each other.
It is not required. If you use Portainer to control OMV, and brewblox-ctl / docker-compose to control Brewblox, then the Brewblox containers will show up in Portainer, but that’s extent of it.

1 Like

Thanks :slightly_smiling_face:
Didn’t understand all off that :rofl:
So I would install it just as I did on my pi and not from portainer and Docker hub?

Yes.

Short version: it will work. If you get errors about ports already being in use, we can solve it then.

1 Like

Thanks :slightly_smiling_face:
Maybe I’ll try it later and see how it goes :slightly_smiling_face:
Can I import what I have from my pi Brewblox?

Yes. For instructions, see Upgrading your system | Brewblox

Read it a bit better and not while walking :slightly_smiling_face:
So port 80, 443 and 1883? OMV uses port 80 as default but that is easily changed. Don’t think the other ports are used but have to check :slightly_smiling_face:

1 Like

Why do I have to stop the containers when updating Brewblox?

The update also grabs system updates, which may include docker or kernel updates. It’s probably fine if you don’t stop OMV, but it may cause weird issues on occasion.

1 Like

Installed brewblox on my OMV. Had to add a new user to get it to work since the existing user didn’t have a home folder. Made a snapshot from the old Brewblox and shut it down. Restored the snapshot on OMV but it wont connect to the spark. what did i miss?

Could you please run brewblox-ctl log?
Is the server in the same LAN subnet as the controller?
Is mDNS installed on the server? (Done automatically if it’s a Pi)

You may also need to edit file permissions if the user ID is different, but the log will show that.

Its on the same LAN subnet, 192.168.1.x
Did a search for mDNS and here is the result

auto-apt-proxy/stable 13.3 all
  automatic detector of common APT proxy settings

avahi-daemon/stable,now 0.8-5 amd64 [Installeret]
  Avahi mDNS/DNS-SD daemon

chezdav/stable 2.5-1 amd64
  simple tool to share a directory with WebDAV

designate-mdns/stable 1:11.0.0-2 all
  OpenStack DNS as a Service - mdns

forensics-extra/stable 2.29 all
  Forensics Environment - extra console components (metapackage)

golang-github-hashicorp-mdns-dev/stable 1.0.3-2 all
  simple mDNS client/server library in Golang

libavahi-client-dev/stable 0.8-5 amd64
  Development files for the Avahi client library

libavahi-client3/stable,now 0.8-5 amd64 [Installeret,automatisk]
  Avahi client library

libavahi-core-dev/stable 0.8-5 amd64
  Development files for Avahi's embeddable mDNS/DNS-SD library

libavahi-core7/stable,now 0.8-5 amd64 [Installeret,automatisk]
  Avahi's embeddable mDNS/DNS-SD library

libjdns-dev/stable 2.0.3-1.1 amd64
  Simple DNS queries library - development files

libjdns2/stable 2.0.3-1.1 amd64
  Simple DNS queries library

libjmdns-java/stable 3.5.5-1 all
  Java implementation of multi-cast DNS (Apple Rendezvous)

libjmdns-java-doc/stable 3.5.5-1 all
  Documentation for Java implementation of multi-cast DNS

libmono-zeroconf-cil-dev/stable 0.9.0-6.1 all
  CLI library for multicast DNS service discovery

libmono-zeroconf1.0-cil/stable 0.9.0-6.1 all
  CLI library for multicast DNS service discovery

libnet-bonjour-perl/stable 0.96-2.1 all
  Perl module for DNS service discovery

libnss-mdns/stable,now 0.14.1-2 amd64 [Installeret,automatisk]
  NSS module for Multicast DNS name resolution

mate-user-share/stable 1.24.0-2 amd64
  User level public file sharing via WebDAV

mate-user-share-common/stable 1.24.0-2 all
  User level public file sharing via WebDAV (common files)

mdns-scan/stable 0.5-5+b1 amd64
  Scan for mDNS/DNS-SD services published on the local network

mzclient/stable 0.9.0-6.1 all
  CLI library for multicast DNS service discovery (commandline tool)

pulseaudio-module-zeroconf/stable 14.2-2 amd64
  Zeroconf module for PulseAudio sound server

python3-netdisco/stable 2.8.2-1 all
  Library to discover local devices and services (Python 3)

x11vnc/stable 0.9.16-7 amd64
  VNC server to allow remote access to an existing X session

https://termbin.com/sdxd

avahi-daemon is the relevant one. I assume “Installeret” means “Installed”.

It looks like everything is notionally online, but it does not discover the Spark. Does it show up when you run brewblox-ctl discover-spark?

Yes

INFO Discovering devices…
Type Model Device ID Device host Service


LAN Spark 4 C4DD5766BC14 192.168.1.21

If you check /etc/avahi/avahi-daemon.conf, does it have the setting (without a # in front of it)?

enable-reflector=yes

If it doesn’t, or only has the setting with a #, run brewblox-ctl fix avahi

[reflector]
enable-reflector=no
#reflect-ipv=no
#reflect-filters=_airplay._tcp.local,_raop._tcp.local

I guess something explicitly set it to false. We don’t overwrite explicit “no” settings automatically.

You can edit it with sudo -e /etc/avahi/avahi-daemon.conf. change the no to a yes, and press ctrl-X to save and exit.

When done, run sudo systemctl restart avahi-daemon

Done. Same thing. Also did a reboot

For now you can set a static DHCP lease (ip address) for the spark in the router, and add a --device-host argument in docker-compose.yml

If you like, I can help further debug discovery, but that can get technical quite fast.

First thing I did after setting it up :slightly_smiling_face: I use OPNsense and always give my stuff static ip.

If you don’t mind I’d like to debug it further.