[Solved] Plone 6.0.1 doesn't work

Many thanks for this very promising release!

Context

  • GNU/Linux Mageia 8

Issue

I followed the instructions here:

$ docker run --name plone6-backend -e SITE=Plone -e CORS_ALLOW_ORIGIN='*' -d -p 8080:8080 plone/plone-backend:6.0
Unable to find image 'plone/plone-backend:6.0' locally
6.0: Pulling from plone/plone-backend
025c56f98b67: Pulling fs layer 
778656c04542: Pulling fs layer 
025c56f98b67: Pull complete 
778656c04542: Pull complete 
2f9c09f7c02f: Pull complete 
30fb943195a7: Pull complete 
0f372def914e: Pull complete 
f1b4aa745a74: Pull complete 
394be1b76dc8: Pull complete 
3463ac3403c0: Pull complete 
Digest: sha256:63d459ac5cf1177ab1c08493f7a9ee735db18ff2a7efc457219a9b4080c0380f
Status: Downloaded newer image for plone/plone-backend:6.0
597f18955e681d0348a4fefe639d7d9fb243b607ab6eb527c68de06eef6c381b
$ docker run --name plone6-frontend --link plone6-backend:backend -e RAZZLE_API_PATH=http://localhost:8080/Plone -e RAZZLE_INTERNAL_API_PATH=http://backend:8080/Plone -d -p 3000:3000 plone/plone-frontend:lat
est
Unable to find image 'plone/plone-frontend:latest' locally
latest: Pulling from plone/plone-frontend
6eab20599fab: Pull complete 
26757b0b9512: Pull complete 
a524d549ab5b: Pull complete 
190235e6ea57: Pull complete 
863b806c23e5: Pull complete 
f2b9017e788f: Pull complete 
55f47f4c1f4e: Pull complete 
4f4fb700ef54: Pull complete 
Digest: sha256:930c77fa2c002adfb0d8f95710571007c9b58bb49c6791406bcbe8897995672c
Status: Downloaded newer image for plone/plone-frontend:latest
8dac9cc068a9a4bd9ace7830a6d9a1f9b45e3e48d58d1c8d74bd2e1039dbc608

But, with:

$ firefox http://localhost:3000 &

I don't see the new Plone site, just a page containing:

The connection was reset
The connection to the server was reset while the page was loading.
[...]

Check that Plone backend works properly on localhost:8080

If it is just by pointing the browser to http://localhost:8080, the result is the same:

The connection was reset
The connection to the server was reset while the page was loading.
[...]

Then start the each of the two docker commands in a separate terminal and watch them carefully.

Short explanation: you are starting to separate processes: the Plone backend (you could say it's a sort of a database, in the context of running Volto) and the nodejs, React-based frontend (running the Volto frontend).

  1. In the first terminal:
$ docker run --name plone6-backend -e SITE=Plone -e CORS_ALLOW_ORIGIN='*' -d -p 8080:8080 plone/plone-backend:6.0  
b33e39dcc2f715dc176dff6fcf960e1e38e952540c5cb4d956fdf914d046cbb8
  1. In the second terminal:
$ docker run --name plone6-frontend --link plone6-backend:backend -e RAZZLE_API_PATH=http://localhost:8080/Plone -e RAZZLE_INTERNAL_API_PATH=http://backend:8080/Plone -d -p 3000:3000 plone/plone-frontend:latest
f7ac1e051397f321beb16b72453b5039d9e6ae9dcc66bd504e3e4eb94d77b04e

but pointing the browser to http://localhost:8080 or to http://localhost:3000 doesn't add anything after these two commands.

I tested on Ubuntu (in a VM).

The instructions here doesn't work as they are, since the two commands docker run [...] have to be preceded by sudo. If run with sudo then, indeed, I see the new Plone site when pointing my browser to http://localhost:3000.

I tried to transpose this to Mageia 8, by running these commands, not as sudo, but as root. But, still the same problem, hence still a mystery with Mageia :slightly_frowning_face: .

More or less "not Plone's problem" (that shouldn't stop you from asking help here, it's just that maybe we get confused as it's something that's unexpected): Docker Engine post-installation steps | Docker Documentation

Sigh... On Mageia:

  • all was already configured as on this page,
  • even if I start these two commands with sudo, the problem persists.

Maybe there's a builtin firewall? Or some sort of security flags that need to be configured? It's the first time I've heard of this distro.

I don't think so. For instance, I've no trouble with a Plone 5.2.9 site that I can see when pointing my browser to http://localhost:8080.

But do you run that Plone website the same? From docker? Maybe you have something like policykit running.

Sorry, I was precise enough: indeed, the working Plone site is not run from Docker.

I'm not a docker expert (or journeyman for that matter) but the next step is looking at instance.log on the backend.

I'm not sure how to do this on the front-end yet, as I'm totally a classical guy who is just now getting his feet wet in volto.

Is there any way to get to the log files that the container is creating?

Otherwise, I'm curious what docker does to map ports between the docker engine and containers. There must be some magic there and it's worth checking into.

In fact, I just fixed this issue, due to shorewall that needed to be properly configured for use with Docker.

1 Like