The directory structure is correct.
I have this on my side:
root@gladys:/var/lib/gladysassistant/mosquitto# ls -l
total 8
-rw-r--r-- 1 1883 1883 111 Sep 20 04:52 mosquitto.conf
-rw-r--r-- 1 1883 1883 120 Sep 20 04:52 mosquitto.passwd
The directory structure is correct.
I have this on my side:
root@gladys:/var/lib/gladysassistant/mosquitto# ls -l
total 8
-rw-r--r-- 1 1883 1883 111 Sep 20 04:52 mosquitto.conf
-rw-r--r-- 1 1883 1883 120 Sep 20 04:52 mosquitto.passwd
I have exactly the same thing at this level
but when I do a cat mosquitto.conf on line 3 I have a reference to a config directory which seems surprising to me (I can’t do a copy and paste, I’m dialing from a Windows laptop and I’m manipulating in parallel on my Ubuntu server)
The configuration refers to the inside of the container which is mapped to the outside. They are not the same folders, and that’s normal ![]()
Where are Gladys and MQTT installed outside? Apart from what I see under /var/lib/, I see nothing…
There’s nothing else.
These are Docker containers, everything is isolated via Docker.
So my problem with MQTT that keeps looping on restart remains an unsolvable mystery?
Access rights issue, when you have « resolved » these access issues on your host, what commands did you run?
To help you, we need some details.
What does ls -l show? (This implies that I would like to see the output) ![]()
@VonOx,
some balls, which I think I have already given during the exchanges,
I have done chmod and add group for all this (small reminder, although I have been retired for 2 years, before being an IT project manager, I was an analyst-programmer then system admin… and not a Sunday tinkerer)
docker directory: owner root rights 710
gladysassistant owner root rights 755
the user Sylvain (me) is admin, member of the docker group.
but I have the impression that the rights on docker after each restart of docker return to 710 while I update them each time I lose the gladys mqtt link.
I can’t send a screenshot, I am exchanging from a different pc from the ubuntu server
You’re misunderstanding, I’m not judging your level or what you described earlier.
But we’re all here in our free time and days only have 24 hours
I prefer this
A long speech that needs to be projected to try to understand the state of your machine and your environment.
Hello @VonOx,
I understand, but my Ubuntu server where Gladys is installed is not open to the internet and does not share resources with my standard PCs (especially Windows), which is why I exchange with the internet. Therefore, retrieving screenshots to transfer them to another machine is cumbersome, hence a more explanatory approach rather than images…
In my past in IT, Docker architecture did not exist, but I will get used to it… Despite retirement, I do not stop technological watch and programming, especially in C and Delphi.
For the case that concerns me, I was considering something: stop Gladys and MQTT, and restart a procedure to install the containers without uninstalling the existing ones. Could this work without losing what I have already implemented…
3.1.3.1 Client Identifier
The Client Identifier (ClientId) identifies the Client to the Server. Each Client connecting to the Server has a unique ClientId. The ClientId MUST be used by Clients and by Servers to identify state that they hold relating to this MQTT Session between the Client and the Server [MQTT-3.1.3-2].
The Client Identifier (ClientId) MUST be present and MUST be the first field in the CONNECT packet payload [MQTT-3.1.3-3].
The ClientId MUST be a UTF-8 encoded string as defined in Section 1.5.3 [MQTT-3.1.3-4].
The Server MUST allow ClientIds which are between 1 and 23 UTF-8 encoded bytes in length, and that contain only the characters
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" [MQTT-3.1.3-5].
SSH?
How do you retrieve Docker images and update?
Hello @VonOx,
to tell you everything, this server is connected via RJ45 cable, and external internet access only happens once a day randomly via cron and a shell script to manage maintenance and updates, while I finalize my OpenVPN network (20 computers with different configurations, it takes time especially as I do development and other things, and my network structure vision changes regularly, notably I want to avoid Wi-Fi as much as possible and switch to CAT7 cable as I have a defibrillator and a certain sensitivity to waves).
But to move forward, I stop this cron and set up an SSH tunnel between the server and my PC.
I’m really eager to move forward and advance this Gladys project that I like and to which I hope to contribute well.
drwx--x--- 13 root root 4096 March 1 10:37 docker
drwxr-xr-x 7 root root 4096 March 1 11:40 dpkg
drwxr-xr-x 3 root root 4096 Aug 19 2021 emacsen-common
drwxr-xr-x 2 root root 4096 Feb 22 2021 fprint
drwxr-xr-x 6 root root 4096 Feb 18 16:29 fwupd
drwxr-xr-x 5 gdm gdm 4096 Feb 18 12:14 gdm3
drwxr-xr-x 2 geoclue geoclue 4096 Feb 28 2020 geoclue
drwxr-xr-x 4 root root 4096 Aug 19 2021 ghostscript
drwxr-xr-x 3 root root 4096 Feb 27 12:22 gladysassistant
@cce66,
hello, I take note of your comments but,
MQTT-broker node tab
about using only the alpha on the client ID and therefore not using ‹ : › causes a problem with the recommendation made by Gladys?
about mqtt:station@mqtt://locahost this comes from the auto-concat on the mqtt-broker tab when you parameter the server with client ID (here mqtt:station)
but between the name of the mqtt out node tab and the client ID of the mqtt-broker tab (which seems mandatory if the clean session box is not checked) this affects the display of the server name and the node name
so what do you suggest I do? I remove the two points, I don’t fill in the name, I check the clean session?
as my mqtt container is always down I can make changes but not test…
@VonOx
for info
sylvain@synapsat10:/var/lib$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aa8c8b74f383 nodered/node-red "npm --no-update-not…" 7 days ago Up 2 hours (healthy) node_red
68d827fb2fc4 eclipse-mosquitto:2 "/docker-entrypoint.…" 9 days ago Restarting (13) 44 seconds ago eclipse-mosquitto
cd81adf45432 gladysassistant/gladys:v4 "docker-entrypoint.s…" 9 days ago Up 2 hours gladys
sylvain@synapsat10:/var/lib$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aa8c8b74f383 nodered/node-red "npm --no-update-not…" 7 days ago Up 3 hours (healthy) node_red
68d827fb2fc4 eclipse-mosquitto:2 "/docker-entrypoint.…" 9 days ago Up 2 seconds eclipse-mosquitto
cd81adf45432 gladysassistant/gladys:v4 "docker-entrypoint.s…" 9 days ago Up 3 hours gladys
sylvain@synapsat10:/var/lib$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aa8c8b74f383 nodered/node-red "npm --no-update-not…" 7 days ago Up 3 hours (healthy) node_red
68d827fb2fc4 eclipse-mosquitto:2 "/docker-entrypoint.…" 9 days ago Restarting (13) 5 seconds ago eclipse-mosquitto
cd81adf45432 gladysassistant/gladys:v4 "docker-entrypoint.s…" 9 days ago Up 3 hours gladys
sylvain@synapsat10:/var/lib$
This is mainly a problem for a third-party application. For Gladys, it’s coded to accept it even if it’s not ‹ standard ›, but I think this will be modified by the developers when they have time for it!
For mqtt:station@mqtt://locahost, I’m not sure that it won’t crash on the node-red side.
Try with mqtt:localhost and alpha as indicated above and give feedback! ![]()
Blockquote
We are currently addressing 2 issues. The weather station on node red (that’s a flow, it will be fine)
Then the mqtt container (it’s down) and we know why, the passwd file is not accessible for the container.
Edit: upon rereading, I think you’re confusing topic and client id?
I’m thinking that if the update is cut off midway, it won’t improve stability. There might have been a Docker Mosquito hiccup for that matter. You should install the Watchtower container and configure it to trigger at the same time as your connection!
No, no, in the first capture, the « Client ID » is indeed configured with a name « mqtt:station » and in the second, the server name which is not conventional (after that, I didn’t look at the code level how node-red treats it
) and the topic which includes this « mqtt: » which is heavy but remains within the limit of a topic (256 characters max normally alphanumeric plus space and -)
### 4.7.3 Topic semantic and usage
The following rules apply to Topic Names and Topic Filters:
* All Topic Names and Topic Filters MUST be at least one character long [MQTT-4.7.3-1]
* Topic Names and Topic Filters are case sensitive
* Topic Names and Topic Filters can include the space character
* A leading or trailing ‘/’ creates a distinct Topic Name or Topic Filter
* A Topic Name or Topic Filter consisting only of the ‘/’ character is valid
* Topic Names and Topic Filters MUST NOT include the null character (Unicode U+0000) [[Unicode](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/csprd02/mqtt-v3.1.1-csprd02.html#Unicode)] [MQTT-4.7.3-2]
* Topic Names and Topic Filters are UTF-8 encoded strings, they MUST NOT encode to more than 65535 bytes [MQTT-4.7.3-3]. See Section 1.5.3
There is no limit to the number of levels in a Topic Name or Topic Filter, other than that imposed by the overall length of a UTF-8 encoded string. When it performs subscription matching the Server MUST NOT perform any normalization of Topic Names or Topic Filters, or any modification or substitution of unrecognized characters [MQTT-4.7.3-4]. Each non-wildcarded level in the Topic Filter has to match the corresponding level in the Topic Name character for character for the match to succeed.
I saw that the « Client ID » is the name of the object that an object gives to the broker to say « I am called ‹ Client ID › » and I subscribe to a topic which is a string parsed by / published by another object or I am called « Client ID » and I publish a topic which is still a string parsed by /, the broker only maintains this list up to date and broadcasts the messages published by objects when it receives them to the objects that have subscribed to them. I had the name issue to connect gladys with my ipx800v5 (which includes more restrictive mqtt at the name level) and I bypassed with node-red which is more flexible (for the moment)
It’s almost similar to OOP at the property and method level! ![]()
Otherwise, to return to the gladys config and it’s the link I wanted to see at the node-red level, it’s the name given to « broker url » because in the node-red part @Einstein8854 puts as server name « mqtt:station@mqtt://localhost » if he created the mosquito with the same parameters it will not reference the same server so not with the correct password hence my remark!
Vin diou this brings back memories
, I went from vb3 to Delphi before moving to vb5 and vb6 (ah the joys of OOP, inheritance, polymorphism, APIs and its miles of documentation
that wore out the neurons!
) Now it’s more WinDev Express that amuses me
what progress for the keyboard dinosaurs
!
@cce66
hello,
on the mqtt out tab of nodered, i have mqtt://localhost if in the connection parameter (cf screenshot) i do not put anything in the name, and in this case i must check « use clean connection » otherwise error on deploy