You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Define dnpublic_network in the docker-compose.yml #66
The best way of working with Docker is to use the default built-in features to avoid human errors and automate as much as possible. In this case, the dnpublic_network must exist only if the HTTPS container is present. This can easily be achieved by defining it as a docker internal network in the docker-compose.yml of the HTTPS package.
The docker-compose down will attempt to remove internal networks (must see what happens if there are still running docker containers on it).
Furthermore, the SDK should have whitelisted which docker networks are allowed (right now should be only dncore and dnpublic
Could you do some tests to check if that would work? What happens if you uninstall the https and there's still some other package on the public network?
This is what DAppManager does when HTTPS package is installed. It must be done that way because it is only way to ensure that dnpublic_network network exists on host since it is declared as external in compose. Starting compose with external network that doesn't exists fails.
Declare docker internal network dnpublic_network in https compose
In SDK and dappmanager allow just two docker networks: dnpublic and dncore
When installing https package it will create the dnpublic docker network in dappnode environemt.
When removing https package there will be an warning like error docker network in used by other containers. The dnpublic network does not makes sense without the https container, then it should be remove the docker networ dnpublic from all the containers
Activity
dapplion commentedon May 18, 2022
@pablomendezroyo can you justify why
pablomendezroyo commentedon May 18, 2022
The best way of working with Docker is to use the default built-in features to avoid human errors and automate as much as possible. In this case, the
dnpublic_networkmust exist only if the HTTPS container is present. This can easily be achieved by defining it as a docker internal network in thedocker-compose.ymlof the HTTPS package.The
docker-compose downwill attempt to remove internal networks (must see what happens if there are still running docker containers on it).Furthermore, the SDK should have whitelisted which docker networks are allowed (right now should be only
dncoreanddnpublicdapplion commentedon May 19, 2022
Could you do some tests to check if that would work? What happens if you uninstall the https and there's still some other package on the public network?
3alpha commentedon May 19, 2022
This is what DAppManager does when HTTPS package is installed. It must be done that way because it is only way to ensure that
dnpublic_networknetwork exists on host since it is declared as external in compose. Starting compose with external network that doesn't exists fails.pablomendezroyo commentedon May 19, 2022
I think the best approach would be:
dnpublic_networkin https composednpublicanddncorednpublicdocker network in dappnode environemt.error docker network in used by other containers. Thednpublicnetwork does not makes sense without the https container, then it should be remove the docker networdnpublicfrom all the containers