The issue was - the ‘New UI’ docker image was automatically building for AMD64, but the Linux server is an ARM64/v8.
I had to add QEMU and multi-platform build commands to the docker-image.yml file (in Github Actions).
This creates an additional docker image for ARM64 machines, which loads and runs successfully.
This was discovered by manually building a docker container, and receiving the following message:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
So if you get that message, you must build your docker image for the platform you are on (or multiple platforms).
** == ** == ** == ** == ** == ** == **
THE SETUP and ERROR
Now I am getting a “502 Bad Gateway - nginx” error (the site does not load).
NGINX error log shows:
connect() failed (111: Connection refused) while connecting to upstream, client: 126.96.36.199, server: ggg.com, request: "GET / HTTP/2.0", upstream: "http://0.0.0.0:15153/", host: "ggg.com"
Nginx config has not been modified (but here is the config anyway - ggg.conf)
Docker log is clean.
When I list docker containers, there is no PORT mapped to the ‘New-UI’ image container.
(However, when running the ‘default lemmy-UI’ image container, the PORT is successfully mapped to 127.0.0.1:15153->1234/tcp)
It seems I must create a new Container, using the ‘New-UI’ image, and map the PORT to 127.0.0.1:15153->1234/tcp (unless an Environment Variable can do it).
^ Now I must figure out that exact docker command. (because
docker run -d -p 127.0.0.1:15153:1234 [ImageID] does not successfully create the container.)
Here are the Env Vars I’ve added (in various combinations/values):
lemmy-ui: environment: - LEMMY_UI_HTTPS=true - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy:8536 - LEMMY_UI_LEMMY_EXTERNAL_HOST=ggg.com - LEMMY_UI_DISABLE_CSP=true # - LEMMY_UI_LEMMY_WS_HOST=lemmy:8536 # - LEMMY_UI_HOST=0.0.0.0:1234
here is the full docker-compose.yml (only changed Env Vars)