Skip to content

Allocated ports 80/443 on host to HTTPS pkg makes update script NOT to determine HTTPS as an installable pkg #684

@pablomendezroyo

Description

@pablomendezroyo

The update script removes the following files/directories (See https://github.com/dappnode/DAppNode/blob/09dc55ae4c9af427c481862fc08ccb719956ec15/scripts/dappnode_install.sh#L31C1-L40C3)

if [ "$UPDATE" = true ]; then
    echo "Cleaning for update..."
    rm -rf $LOGFILE
    rm -rf ${DAPPNODE_CORE_DIR}/docker-compose-*.yml
    rm -rf ${DAPPNODE_CORE_DIR}/dappnode_package-*.json
    rm -rf ${DAPPNODE_CORE_DIR}/*.tar.xz
    rm -rf ${DAPPNODE_CORE_DIR}/*.txz
    rm -rf ${DAPPNODE_CORE_DIR}/.dappnode_profile
    rm -rf ${CONTENT_HASH_FILE}
fi

After this file removal the dappnode core is downloaded and executed again, making volumes persist.

When a user is running a core package with a host port allocated, such as HTTPS does with ports 443 and 80, since this update script is not stoppping/removing the core docker containers, when the script attemps to determine which core packages need to be installed (see

determine_packages() {
) it will not select the HTTPS because those ports are already allocated and would cause conflict (see
is_port_used() {
)

This script execution makes the HTTPS container be in an orphan state without:

  • docker image
  • compose file
  • manifest file.

A possible solution would be, if the port is used AND its being used by a running HTTPS container then set the HTTPS pkgs as an installable pkg

References

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions