Skip to content

install.sh: custom daemon ports make every reinstall report failure #78

Description

@sweetcornna

What happened

DORMICE_PORT is a supported daemon setting, but deploy/install.sh fixes its own PORT variable at 3676. On a rerun, the installer preserves /etc/dormice/env, restarts the daemon on the configured custom port, and then polls port 3676 for two minutes before declaring the upgrade failed. The environment file is not sourced until after this health check.

Reproduction on a disposable installed host:

  1. Add DORMICE_PORT=4567 to /etc/dormice/env and restart dormice.
  2. Confirm curl http://127.0.0.1:4567/healthz succeeds.
  3. Rerun deploy/install.sh.
  4. Observe that the service remains healthy on 4567 while the installer polls 3676 and exits with the daemon did not answer /healthz on 127.0.0.1:3676.

Expected: Verification should use the effective DORMICE_PORT from the preserved service environment, defaulting to 3676 only when it is absent.

Actual: Verification and the printed CLI endpoint always use the installer's hard-coded port 3676.

Impact: Routine and one-click upgrades on documented custom-port installations are falsely marked failed and never reach dor doctor, leaving operators troubleshooting a daemon that is actually healthy.

Relevant code and contract:

  • packages/server/src/config.ts:16-18 accepts ports 1 through 65535.
  • deploy/install.sh:46-51 hard-codes PORT=3676.
  • deploy/install.sh:648-667 checks that port before sourcing /etc/dormice/env.
  • website/content/docs/configuration.mdx:28-32 documents DORMICE_PORT.

dor doctor output

Not available: the installer exits at its health check before invoking dor doctor.

Environment

  • Dormice commit: 4417ae14938273f5d937c476cf7cdc57e22e53a5
  • Install mode: systemd installation with an existing /etc/dormice/env
  • Custom setting: DORMICE_PORT=4567
  • Verification: source-path trace plus the disposable-host reproduction above

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions