fix(install.sh): make the installer work on a real server - #12
Merged
Merged
Conversation
Found by a live run on a fresh Ubuntu 26.04 VPS. Four fixes:
- Bind Consul/Nomad to 127.0.0.1 (single-node all-in-one) instead of
{{ GetPrivateIP }}, which picked the docker bridge (172.17.0.1) on a host with
multiple private IPs; add an explicit Nomad advertise block (it refuses to
default a server's advertise to localhost).
- Start services with 'systemctl restart --no-block' + poll the HTTP APIs. The
packaged units are Type=notify and the agents don't always signal systemd, so
a blocking restart hung and (under set -e) aborted the whole install.
- Pass REDIS_HOST (what the app reads) instead of REDIS_URL — the app was
resolving the container name 'nomploy-redis' and failing on host networking.
- Generate and persist a BETTER_AUTH_SECRET so the app doesn't fall back to the
insecure hardcoded default and sessions survive restarts.
Also ignore install.sh in the Docker publish paths (it doesn't affect the image).
Verified: fresh install now brings up Consul+Nomad (node ready, docker driver
healthy), Postgres, Redis, Traefik, and the app (health 200, UI renders).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Thank you for your contribution! Please sign our Contributor License Agreement by posting the following comment: I have read the CLA Document and I hereby sign the CLA Peter Gonda seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes found by a live run on a fresh Ubuntu 26.04 VPS — the installer now brings up the full nomploy stack end-to-end (verified: Nomad node ready + docker healthy, Postgres/Redis/Traefik up, app health 200, register UI renders).
Four fixes:
{{ GetPrivateIP }}, which picked the docker bridge on a multi-IP host; add explicit Nomadadvertise.systemctl restart --no-block+ poll the APIs — packaged units areType=notifyand didn't signal systemd, so a blocking restart hung and aborted the install underset -e.REDIS_HOST(what the app reads) instead ofREDIS_URL— app was failing to resolvenomploy-redison host networking.BETTER_AUTH_SECRETso the app doesn't use the insecure default.Also ignores
install.shin the Docker publish paths (doesn't affect the image).🤖 Generated with Claude Code