New Docker Image Available

A new Dockerfile based on Debian is now the default for new docker based installations.

The new image allows us to have much better multi lingual support, and it also provides access to advanced extensions such as Saxon (for xslt2 processing).

The image is bigger than the alpine one, but the tradeoffs is well worth it.

Going forward, I’ll continue to tag images for both the existing Dockerfile and the new one. So there is no need to do anything additional if you are happily using the current dockerfile.

There is no (easy) way to migrate between the two Docker versions. Migration would require copying the public/storage folder across the containers the mapping here has also changed slightly.

Old docker user files: app/public/storage

New docker user files: storage/app/public/storage

Your database would also need to be ported over.

2 Likes

Hi David. Thanks for your effort here.

I’ve spent a few hours trying to get the image working but unfortunately so far to no avail. Here’s a few observations:

  • Although it’s aliased, the syntax used in the documentation follows the long outdated Docker Compose standalone docker-compose instead of docker compose.
  • The command to generate an key before the containers have started doesn’t return a key, it just starts the container up.
  • The app starts ok, and is accessible via browser. However, if you try to upload a logo in place of the existing logo, the POST returns a 200 but the image will appear broken in the frontend. The image does upload to /storage/app/public/imagerand/imagevariant.png. My guess is that’s either the wrong directory or the mapping from the frontend (currently https://url.com/storage/imagerand/imagevariant.png) to the backend isn’t correct.
  • I get a combination of Axios 504 and 502 errors when trying use SnapPDF. The backend shows several pids forcefully terminated and at least one other pid exiting with an exit code of 1 (children fo the app container, not nginx).

I’ve tested behind a reverse proxy (Traefik) and also directly and the behaviour is the same.

Keen to get this set up, so if you need any more info from me or can suggest how I might be being stupid - please let me know.

1 Like

@RapidScampi I guess I am a little old school and still use the docker-compose wrapper.

I believe there is a PR that will make the logo appear within the admin panel, which should resolve that particular issue.

I am not sure about the 504/502 errors, i would inspect the logs storage/logs/laravel for further information on that one my guess is traefik may not be playing nice.

The update today that changed the Nginx config bind mounts and switched out the PHP configs seems to have fixed the PDF generation issues. The only issue that it didn’t fix (at least that I’ve spotted) is the logo not appearing in the frontend after being uploaded.

It flashes up as 403 in the console so I manually set the permissions for the uploaded image’s dir to something more permissive from inside the container and this fixed the issue. Other uploaded files (attaching docs to invoices, for example) seem to work fine.