Should the install guide tell people to run apt update & apt upgrade first?

Can you please provide the full logs of that failure? I want to track down the issue so we can fix it.

Desktop.zip (17.9 KB)

No, not the running site logs, but the rebuild logs where the failure happens.

which files you need ?

They are not files but what goes to the standard output during a rebuild. The stuff that is printed to the terminal while you are doing the rebuild that fails.

i would need to start the full process again to get those longs

1 Like

One of the first questions I asked here was about that: Installation text location I’m in the habit now of copying and pasting it into OneNote.

4 Likes

If you do a rebuild it does a pull, but a bootstrap does not.

3 Likes

Thanks. Could you explain that in detail?

The reason I ask is that we don’t use “rebuild” on initial installation (which I think is what you mean by bootstrapping). We do use “rebuild” subsequently, but “git pull” is automatically done then. I can’t work when git pull is necessary in that set of three commands.

cd /var/discourse
git pull
./launcher rebuild app

./discourse-setup

Does it all

1 Like

Is it ever necessary to type git pull either on initial installation or subsequent rebuild?

You don’t need to do a git pull on the initial installation because you have just cloned the repo. The git pull is needed to pull in an updated version of Discourse.

And if it’s an initial installation and you’re using discourse-setup then it does the rebuild (which does do a git pull, but it’s unlikely to do anything unless a commit was pushed while you were running discourse-setup.

Are we agreed then that in the set of three commands in the instructions, the git pull command is never necessary? This is the bit I mean:

Alternatively, you can ssh into your server and rebuild using:

cd /var/discourse
git pull
./launcher rebuild app

My money is on the additional git pull is unnecessary, because of the code here:

which seems to check the local version, updates and restarts the launcher if out of date (and a bunch of other things).

Therefore only this should be necessary on subsequent rebuilds:

cd /var/discourse
./launcher rebuild app

without the redundant git pull.

(NB: always good to dive into the source code so you can be more sure).
(NB#2: have deleted my post above which just added to the confusion).

3 Likes

Thanks. I was sure I’d convinced myself of the same thing somehow (from the forum rather than the code) so searched and found:

2 Likes

And PS it looks like it’s pretty much “always” worked this way:

3 Likes

I like how on the internet time immemorial has become c. AD 2015 :slight_smile:

2 Likes

I would add it is not immediately intuitive this stunt would be possible:

Basically the script checks to see if it is “itself” out of date, updates itself (and all associated files), then dispatches itself again. :tada: clever :nerd_face:

That’s a really useful pattern to use elsewhere too … great stuff!

3 Likes