I have encountered that these variables where not working since 1,72 if I am not mistaken using docker container with docker-compose.
console.address: does not change the Port
storage.allocated-disk-space: Does not work defaulting to 1GB
I have to use environment variables for these to work.
ATM I do not know if filestore.write-buffer-size: also works only from config file.
You should be able to specify these config values either directly with the docker command or with docker-compose. Can you share your docker-compose file?
console.address you should provide as an argument (with --) in your command: clause, the storage.allocated-disk-space: option should be provided as environment variable STORAGE.
I.e.
I know I can pass them in the command section of docker compose, that’s how I have it right now, I am just reporting they don’t work on the config.yaml, so you pass the command arguments instead of having just the config file.
The parameters in the docker run command have a precedence above parameters in the config.yaml, especially required ones such as -e STORAGE, the console.address: is hardcoded in the entrypoint script, so you must provide it as an argument to override the hardcode.
See
Thanks for the answer, that makes it very clear, the ENV variables are set in the docker file so the entrypoint forces the values.
A sugestion, maybe an ENV FORCE_CONFIG to bypass the entrypoint from using run params and use the config file instead?
It makes docker commands and docker files much smaller and cleaner.
Also it makes it seems that the entrypoint impossible to change the default port 14002 to port 80 for example.
Not contesting if it should do by default but at least have a way to actually bypass it, since all my dockers have an IP in a pretty restricted vlan and I really did want to use port 80 to facilitate FW rules.
You can override it with an argument --console.address=:80 after the image name in your docker run command, or in the command: clause in case of docker-compose.yaml.
However, it’s an internal container port, so you may not change it and use the port mapping as usual, like -p 80:14002 (or -p 80:15002 for multinode).
Don’t worry I am not, I am isolating storj nodes in a vlan separated from other devices, I want to minimize rules has much has possible in inter-vlan routing, I know it’s not a big performance issue, it just keeps it a bit more simple and safe to just allow LAN devices to access port 80 on DMZ VLAN rather than add several rules for extra ports.
If I need to access my dashboard I have a VPN, only thing I port forward and expose is port 28967 and subsequent for each new node.
I mean the -p option in your docker run command. If you do not use it with --network host, it will work in the NAT mode by default, so you need to do a port mapping in the docker run command, i.e.