Discourse on a Raspberry Pi | Blog

While the DB is small there should be no difference. If your database is larger than the Pi RAM it may be a clue to change to something a little more robust :sweat_smile:

Raspbian arm64 version from Index of /raspios_lite_arm64/images/raspios_lite_arm64-2021-11-08

4 Likes

Unfortunately, failed…

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && [ ! -d 'node_modules' ] || su discourse -c 'yarn install --production && yarn cache clean' failed with return #<Process::Status: pid 3539 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "cmd"=>["[ ! -d 'node_modules' ] || su discourse -c 'yarn install --production && yarn cache clean'"]}
53e9103763b3963785452f314d9c0023f280ebe76d33a1271a6439d23e8c8ad9
** 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.
1 Like

Can you

please scroll up and look for earlier error messages, there may be more than one.

?

1 Like
I, [2022-01-24T00:30:34.893970 #1]  INFO -- : > cd /var/www/discourse && [ ! -d 'node_modules' ] || su discourse -c 'yarn install --production && yarn cache clean'
warning Resolution field "lodash@4.17.21" is incompatible with requested version "lodash@4.17.15"
2022-01-24 00:31:15.883 UTC [59] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:31:26.025 UTC [3596] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:31:55.876 UTC [59] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:32:06.068 UTC [3606] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:32:15.830 UTC [59] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:32:26.023 UTC [3617] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:32:40.294 UTC [3621] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:32:55.848 UTC [59] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:33:06.000 UTC [3627] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:33:20.766 UTC [3628] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:33:55.862 UTC [59] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:34:06.039 UTC [3634] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:34:22.558 UTC [3635] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:34:35.852 UTC [59] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:34:46.031 UTC [3637] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:34:55.859 UTC [59] LOG:  using stale statistics instead of current ones because stats collector is not responding
2022-01-24 00:35:06.036 UTC [3638] LOG:  using stale statistics instead of current ones because stats collector is not responding
error An unexpected error occurred: "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz: ESOCKETTIMEDOUT".
I, [2022-01-24T00:35:14.127245 #1]  INFO -- : yarn install v1.22.17
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info There appears to be trouble with your network connection. Retrying...
info If you think this is a bug, please open a bug report with the information provided in "/var/www/discourse/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

I, [2022-01-24T00:35:14.128342 #1]  INFO -- : Terminating async processes
I, [2022-01-24T00:35:14.128463 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 52
I, [2022-01-24T00:35:14.128549 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 113
2022-01-24 00:35:14.128 UTC [52] LOG:  received fast shutdown request
113:signal-handler (1642984514) Received SIGTERM scheduling shutdown...
113:M 24 Jan 2022 00:35:14.221 # User requested shutdown...
113:M 24 Jan 2022 00:35:14.221 * Saving the final RDB snapshot before exiting.
I, [2022-01-24T00:35:24.131678 #1]  INFO -- : HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid:52 did not terminate cleanly, forcing termination!
I, [2022-01-24T00:35:24.132139 #1]  INFO -- : exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid:113 did not terminate cleanly, forcing termination!
1 Like

An there it is:

Your connection is too flaky to build Discourse. I just rebuilt on my wired Pi4 without a problem, so you may want to check your networking.

3 Likes

Your website is offline.


Also if it’s accurate happy birthday :tada:

4 Likes

Oh thanks for the reminder. It got lost when I moved houses a few months ago. Turned it on again just now and updated it to latest.

Thanks!

4 Likes

hi @Falco, thank you for sharing such a wonderful piece of information.
I got my first own forum running!!! Thanks to you!!!
Is it possible for me to access the forum with the machine local ip address? When my discourse hostname is already set to a domain (got it from freenom).
When i tried to access the forum with the machine’s ip address, the page always stuck at loading and never managed to load.
I got a use case where my client machine is connected to some VPN and have no access to internet. The only way for me to access the forum is through the local network ip address.

1 Like

You might find this discussion useful. You are asking for support on a very non-standard install:

1 Like

Thanks @merefield.
I find when using curl on the server’s local ip address it returns the page but not with a browser.
It’s got to do with the settings on the browser?

You need to access the app via domain name for several reasons. IP access is not supported afaik

1 Like

Got it! Thanks on the confirmation.

Maybe hardcode that IP in your local hosts file?

3 Likes

Thanks Falco! I will check that out.

2 Likes

I tried hardcode the IP in my client’s hosts file, and the browser always redirect me to the external connection.
Is it possible to provide more than one domain name to the DISCOURSE_HOSTNAME?
Do i need to set DISCOURSE_FORCE_HTTPS: to false to allow local connection? I got this from one of your article.

I am trying to install Discourse on my Raspberry Pi 4 using Dietpi OS and some apps working with Nginx like Nextcloud. I am trying to use Cloudflared service as a tunnel but after the Discourse installation is complete I can’t access Discourse site and i got 502 bad gateway error.

What kind of customization is required on Nginx? Which port should we use?

I applied this guide but without success

1 Like

My guide assumes that Discourse is the only app on the Pi, and then runs the tunnel exposing the port 80 that is assigned to the Discourse container.

Running multiple apps that share a reverse proxy, while possible, is a more advanced setup and out of the scope of this guide.

1 Like

I got this working by setting DISCOURSE_BACKUP_HOSTNAME to machinename.local and DISCOURSE_FORCE_HTTPS to false. Now i can access with my domain name and local network domain name.

2 Likes

Well done. Maybe should be a How To in #howto:admins ?

Thanks @merefield. Sure!
There is one problem when using a backup hostname, the images doesn’t display properly.
If the post’s images created with main hostname and when access with the backup hostname, the images will be missing. This also happens in vice-versa.

1 Like