User amsaal is unable to rebuild Discourse using ./launcher rebuild app, encountering errors including “fatal: No such ref: HEAD” and “docker: invalid reference format”. Overgrow suggests checking the launcher repo status with git status. amsaal initially reports no commits and untracked files, indicating a possible repo corruption. Ed_S notes the repo should show a clean working tree on the main branch, suspecting the .git folder may have been altered or lost. amsaal denies modifying anything and asks for a fix. Ed_S checks the .git/config file, confirming it’s correctly pointing to the Discourse Docker repo but advises against manual edits. amsaal shows the config is correct but git status now reveals modified files and an upstream branch issue — contradicting the earlier report. Ed_S finds this inconsistency mysterious. amsaal asks if reinstalling Discourse would resolve it and requests SSH instructions. Ed_S advises a full reinstall requires a backup (including app.yml) and a fresh OS, pointing to the INSTALL-cloud guide, recommending setup on a new instance with DNS adjustments to minimize downtime — but cautions that this requires technical confidence or external help.
when ever i try to ./launcher rebuild app it gives an error.
root@amsaal:~# cd /var/discourse/
root@amsaal:/var/discourse# ./launcher rebuild app
x86_64 arch detected.
fatal: No such ref: HEAD
fatal: No such ref: HEAD
Stopping old container
/usr/bin/docker stop -t 600 app
app
2.0.20241203-0251: Pulling from discourse/base
Digest: sha256:d5d4e6d361d56745e37f2609db58a6970cc9b3fcd26d0b2dcba23d0cb581f067
Status: Image is up to date for discourse/base:2.0.20241203-0251 docker.io/discourse/base:2.0.20241203-0251
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
docker: invalid reference format: repository name (library/#<NoMethodError) must be lowercase.
See ‘docker run --help’.
cat: cids/app_bootstrap.cid: No such file or directory
bootstrap failed with exit code 125
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
Container name cannot be empty
root@amsaal:/var/discourse#
Untracked files:
(use “git add …” to include in what will be committed)
.github/
.gitignore
LICENSE
README.md
discourse-doctor
discourse-setup
image/
launcher
rebuild.log
samples/
scripts/
templates/
tests/
nothing added to commit but untracked files present (use “git add” to track)
root@amsaal:/var/discourse#
# git status
On branch main
Your branch is up to date with 'origin/main'.
nothing to commit, working tree clean
so I think somehow your /var/discourse directory is broken - is no longer connected to the repo. Did you somehow tidy up, lose, or rename the .git subfolder?
root@amsaal:/var/discourse# git status
On branch main
Your branch is based on ‘origin/main’, but the upstream is gone.
(use “git branch --unset-upstream” to fixup)
Changes not staged for commit:
(use “git add …” to update what will be committed)
(use “git restore …” to discard changes in working directory)
modified: .github/workflows/build.yml
modified: LICENSE
modified: README.md
modified: templates/postgres.13.template.yml
modified: templates/postgres.15.template.yml
modified: templates/postgres.template.yml
modified: templates/web.ssl.template.yml
modified: templates/web.template.yml
Untracked files:
(use “git add …” to include in what will be committed)
rebuild.log
no changes added to commit (use “git add” and/or “git commit -a”)
It might be best to try the install on a new instance. You’ll need to add the new IP address to a temporary subdomain in your DNS. Or, if you are happy with the downtime, just update your DNS to the new IP address.
You do need to have some idea what you’re doing, otherwise you need help. Sorry, I can’t be that help.