Hi
I’ve done quite a few fresh installs recently.
What I noticed was that the wording of the first response in the process of checking if Docker is installed.
"Failed to find Docker … etc
The use of the word ‘failed’ as a first response on most installs isn’t good feedback to anyone unfamiliar with the command line.
You copy and paste
sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
and it results in failure unless Docker is already installed, which is quite improbable in most cases.
Can the wording be changed to something less negative?
"Docker not found …
"[AS EXPECTED] … Docker is not installed …
"Next step is to install Docker as it isn’t presently installed …
"That Worked! - The next step is to install Docker as it isn’t presently installed …
@pfaffman I know you do a lot of installs, any thoughts?
Yes,
I’m talking about the command line response - echo
Can the word Failed be dropped and a different wording used?
Or better can the install just get on with it and not stop for a response here?
If you are doing any install the last word you want to see is Failed
Especially after you have just copied and pasted (correctly) from the Install instructions.
That’s a good point. There are also a bunch of grep commands that also spew out stuff that’s confusing and looks like errors. I’ve thought before about cleaning that up. It’ll likely take an hour or two and I’m somewhat reluctant to do it on my own time as most people are able to suffer through those scary messages.
Next time I make changes, though, (perhaps on the next month to make it easier to turn off the new ember-cli stuff), I’ll see about making that language less scary.
Hi Jay,
Yes I’ve sat through a few installs and the panic does recede with experience.
The language used reflects the negative result of the if statement on line 131.
In coding terms this is correct but in reality it is expected behaviour not to find Docker installed as most people have just set up a clean install.
I always thought this code I pasted into the command line would/should have installed Docker without the need for dialogue?
sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
It occurred to me that rather than fixing all of the things that I think are problemmatic, the change you request is just a couple of lines, so I submitted this:
I think mentioning PATH in the message is an important indicator that docker/docker.io may or may not be installed, i.e. the problem may be that PATH doesn’t include the location where it has been installed.
If the aim is simply to avoid using a strongly negative word, I think just replacing “Failed to” with “Could not” would do the job.
Probably best not to spend any time on this.
Multiple opinions on ‘copy’ are difficult to resolve without upsetting somebody.
When I do my next clean install … I can smile about this topic and go to my ‘good place’ and as I’m told Docker has “Failed” to be found on my fresh install and as I press ‘Y’ install Docker, I can do it without cursing through clenched teeth “I thought that was what I was f…ing doing - Get on with it”.
I think because you aren’t installing docker. What you’re doing at the point of that message is running the Discourse setup which relies on docker being available - it helps you to install this if it can’t find it but asks because it knows nothing about your system.
Maybe it can’t find it because it’s not installed, in which case installing is obviously the correct answer. Maybe it can’t find it because you’ve deliberately installed docker somewhere else for some reason, which isn’t in the system default PATH, in which case installing is the wrong answer. (One correct answer would be to abort the setup and run it again with PATH=/where/docker/is:$PATH ./discourse-setup)
Is it possible that you’re interpreting the repository name, discourse_docker, as being docker? It isn’t, it’s Discourse’s outer layer, the components that need to interact with docker like the setup script, launcher script, etc.