Repository navigation
🎨 Made the piped launcher install a production site by default, as Ghost-CLI does - #384
Merged
acburdine merged 2 commits intoOct 9, 2026
Merged
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
The install command repeated itself: `curl .../install.sh | bash -s -- install --local` names install twice. Piped from curl, the launcher has no site of its own, so install is the only thing a first run does; the command word can default to it. Renaming install.sh would not help, as `-s --` is bash's syntax for a piped script's arguments, not ours. The default applies only when the script is read from a pipe and no command word was given. A site's own ./ghost-docker never gets one, and piped commands named explicitly, such as self-update, are unchanged. - ghost-docker: find whether the script is piped before choosing the command, and prepend install, keeping the --import bundle's index. - tests/e2e/launcher.sh: a piped run with no command installs and still mounts its bundle; a run from a file is not given a command. - .github/workflows/launcher.yml: the newest-beta check pipes with no command, so the default is exercised against the served launcher. - README.md, docs/install.md, docs/architecture.md, pages/index.html: drop install from the curl examples and describe the default.
With the piped launcher defaulting to install, a bare `curl ... | bash` asked which kind of site before anything else. Ghost-CLI's `ghost install` is production unless `ghost install local` says otherwise, and people moving from it expect the same. A production site still needs a domain, so a terminal is asked only for that; without one, or with --no-prompt, the missing --domain is a usage error that also names --local. - manager/src/commands/install.ts: production unless --local; drop the mode question and keep the domain one. - manager/test/install.test.ts: only the domain is asked for, and the usage error names --domain and --local. - docs/install.md: production is the default; describe the domain question and --domain's default.
acburdine
force-pushed
the
claude/ghost-install-script-verbose-7c0a6c
branch
from
October 9, 2026 22:28
5e56347 to
32c575f
Compare
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
curl -fsSL https://docker.ghost.org/install.sh | bash -s -- install --localnames install twice. Two changes shorten the first run to match Ghost-CLI, whereghost installis production andghost install localis local:Piped with no command, the launcher runs
installRenaming
install.shwas considered and rejected:-s --is bash's syntax for a piped script's arguments, so no filename removes it.install; the--importbundle is still resolved and mounted.bash -s -- install …andbash -s -- self-updatestill work. A site's own./ghost-dockernever gets a default.install.sh; the--releasecheck still namesinstall.installis production unless--local--no-prompt, a missing--domainis a usage error that also names--local:a production site needs --domain example.com; for a local site, use --local.Docs, README and docker.ghost.org drop
installfrom the curl examples and describe production as the default.Testing
pnpm test(504 tests) pass; install tests updated for the domain-only question and the new usage error.tests/e2e/launcher.shfake-Docker half passes on bash 3.2 and 5, including the new step (piped, no command,--channel+--import→install …, bundle mounted; from a file → no command added).doctor's writable probe, ENOENT under macOS's temp dir on OrbStack). That run names its command from a file, so this change doesn't reach it; left to CI.🤖 Generated with Claude Code