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.
Thanks
Now it works
Good to hear! I’ll put together a checklist for further debugging mDNS handling, but that’s something that can wait until monday.
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
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
[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.
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
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.
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.