Openmediavault and Docker

Still the same after adding --device-host=192.168.1.21 in docker-compose.yml in ./brewblox. Also did a reboot.

You’ll want to put the argument on the same line as command. Right now it’s either invalid yaml, or interpreted as a nested value.

A reboot is not required. brewblox-ctl up will automatically recreate services with changed configuration.

1 Like

Thanks :slight_smile:
Now it works :grinning:

1 Like

One more thing I’ve been wondering about. How to get the time in 24h instead of am/pm?

Good to hear! I’ll put together a checklist for further debugging mDNS handling, but that’s something that can wait until monday.

1 Like

That’s a locale setting for your system/browser. Ubuntu server 20.04 - time format 24 hours on shell with date command - Ask Ubuntu

Edit: to clarify, this is a setting of the system that runs the browser, not the system that runs the services.

On a Pi, sudo raspi-config may be relevant. Other distros and Windows have UI settings as well

1 Like

More in-depth mDNS troubleshooting:

If you open the avahi config:

less /etc/avahi/avahi-daemon.conf

does it have any blocking settings set under [server]?

  • use-ipv4 / use-ipv6
  • allow-interfaces / deny-interfaces

What are your portainer container and network settings? (be sure to exclude any passwords)

Could you please add the following service to docker-compose.yml, apply changes with brewblox-ctl up, let it run for a bit, and then run brewblox-ctl log? You can also check the logs yourself with brewblox-ctl follow mdns-browser

This is a very basic service that only runs mDNS service discovery for Spark controllers. It makes it easier to check if mDNS packets are being forwarded to the docker network.

  mdns-browser:
    image: brewblox/brewblox-misc:mdns-browser

Your compose file will look something like:

version: '3.7'

services:
  spark-one:
    image: brewblox/brewblox-devcon-spark:${BREWBLOX_RELEASE}
    privileged: true
    restart: unless-stopped
    command: --name=spark-one
  mdns-browser:
    image: brewblox/brewblox-misc:mdns-browser
1 Like
[server]
#host-name=foo
#domain-name=local
#browse-domains=0pointer.de, zeroconf.org
use-ipv4=yes
use-ipv6=yes
allow-interfaces=enp4s0
#deny-interfaces=eth1
#check-response-ttl=no
#use-iff-running=no
#enable-dbus=yes
#disallow-other-stacks=no
allow-point-to-point=no
#cache-entries-max=4096
#clients-max=4096
#objects-per-client-max=1024
#entries-per-entry-group-max=32
ratelimit-interval-usec=1000000
ratelimit-burst=1000

I only have one container running except from the Brewblox containers and that is Wireguard easy. It uses port 51821:51820.

https://termbin.com/vd01

The allow-interfaces is probably the cause. Docker adds new interfaces. Comment it with a #, and run sudo systemctl restart avahi-daemon

Should I remove --device-host=192.168.1.21 and
mdns-browser:
image: brewblox/brewblox-misc:mdns-browser first?

removed it and ran brewbloc-ctl up and seems to work :smiley:

1 Like

Thanks a lot for your help @Bob_Steers :slightly_smiling_face:

1 Like

My system shows 24h but brewblox shows AM/PM.

I’ve looked into it a bit more, and apparently browsers now track their own locale settings. It looks like date formatting is a fixed part of the locale.

For Firefox, you can go to settings → languages, and choose “English (United Kingdom)”. This comes with 24H time formatting.

Chrome apparently doesn’t give a shit.
Chrome shows time format as AM/PM, how can I change it to 24-hour format? - Google Chrome Community claims the OS is followed (I confirmed it is not).
I tried various other english locales, but they default to AM/PM as well.

It looks like we can fix this client-side with a 12H/24H setting we have to apply in javascript. I’ll make an issue for it. The change itself is minimal, but we do need to test it across various browsers and locales to ensure that the results are as expected.

1 Like

Thanks
Worked on my desktop running Manjaro but not on my laptop running Mint. Both using firefox.

What are the OS locales for both systems?

Same on both

LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_NUMERIC=nb_NO.UTF-8
LC_TIME=nb_NO.UTF-8
LC_COLLATE=“en_US.UTF-8”
LC_MONETARY=nb_NO.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=nb_NO.UTF-8
LC_NAME=nb_NO.UTF-8
LC_ADDRESS=nb_NO.UTF-8
LC_TELEPHONE=nb_NO.UTF-8
LC_MEASUREMENT=nb_NO.UTF-8
LC_IDENTIFICATION=nb_NO.UTF-8
LC_ALL=

Custom setting it is, if it’s such a tossup what the browser decides.

1 Like