Stirling-Tools / Stirling-PDF

#1 Locally hosted web application that allows you to perform various operations on PDF files
GNU General Public License v3.0
29.7k stars 2.18k forks source link

[Bug]: Docker Container Reset stays with wrong version #1443

Open rmayergfx opened 3 weeks ago

rmayergfx commented 3 weeks ago

The Problem

Stirling-PDF is running as Docker Container on Synology NAS. First setup was done by portainer script. services: stirling-pdf: container_name: Stirling-PDF image: frooodle/s-pdf:latest

i update the container by downloading the new image with a script polling all new images. stop and reset the container. now i was wondering, why the Container was still using an old version. I found that the environmental variable VERSION_TAG 0.2.xxx ist never updated and still is pointig to the old installed version. If i delete this variable and reset the container, the variable will be set with the latest version number. Why is this "VERSION_TAG" not updated with the matching Version number from the actual image?

There is no VERSION_TAG set in portainer at Environment variables.

Version of Stirling-PDF

0.2.x

Last Working Version of Stirling-PDF

0.x

Page Where the Problem Occurred

No response

Docker Configuration

No response

Relevant Log Output

No response

Additional Information

Download new image from frooodle/s-pdf:latest. Stop Container, Reset Container. Start Container. Until the VERSION_TAG is not deleted, it will stay on the already installed older Version.

Browsers Affected

Firefox, Chrome, Safari, Microsoft Edge, Other

No Duplicate of the Issue

Frooodle commented 3 weeks ago

Cant reproduce this issue, i assume its related to how you are updating the containers, i recommend https://github.com/containrrr/watchtower to update all your containers

Frooodle commented 3 weeks ago

I assume your version you are downloading is older version which is why VERSION_TAG does not match, Can you prove that VERSION_TAG is old BUT the jar within docker is new? otherwise i assume both are old

rmayergfx commented 3 weeks ago

i am not using watchtower, i have a simple scheduled script that is running as root to pull the latest images, for froodle i use docker pull frooodle/s-pdf:latest It´s working fine, i got every time a new version is downloaded an e-mail and so i can check for me if i wan´t to update the docker. This script is also downloading other images, so i am sure it is working as expected. Also i can check the downloaded image and checksum with portainer, no problems with the images. The only docker not working with stop, reset and start is frooodle/s-pdf:latest, i always need to remove the line "VERSION_TAG", if i don´t do this, the container stays at the old version and i don´t know why.

Frooodle commented 3 weeks ago

are you able to provide script?

Frooodle commented 3 weeks ago

and also docker run/compose config

rmayergfx commented 3 weeks ago

sript is just a scheduled task as root with docker pull frooodle/s-pdf:latest

to get the latest updates/image

Installation was done with portainer and tutorial from https://mariushosting.com/how-to-install-stirling-pdf-on-your-synology-nas/

modified with :latest tag and valid language settings, as en_US or de_DE is wrong, should be en-US oder de-DE. also appname and user/passwd was changed to my credentials

Frooodle commented 3 weeks ago

So to confirm you stop old instance

Remove old image

Run docker pull

Start container again?

There is something wrong in the process as I don't believe there is issue our end so trying to lay it out

rmayergfx commented 3 weeks ago

The sequence is different. Scheduler is downloading latest version, if there is a newer one, i get informed by email. then i stop container, reset container and restart container. this is successfull with any other docker i am running, only stirling has a "VERSION_TAG" in environmental variables that is staying on the old version until i delete.

The old image is only deleted once the upgrade has been completed without any problems so that the last status can be restored.

Frooodle commented 2 weeks ago

Cant reproduce

rmayergfx commented 2 weeks ago

Tested just a few minutes ago, as there was the old image 0.26.0 and a new image 0.26.1 is online, got an email from my system that a new image was downloaded Status: Downloaded newer image for frooodle/s-pdf:latest so my scheduler has done the job fine. So i looked at the container: grafik VERSION_TAG is 0.26.0. i stopped and reset the conainer. Still 0.26.0. Protokoll shows me Running Stirling PDF with DOCKER_ENABLE_SECURITY=true and VERSION_TAG=0.26.0 and this is still wrong. System started with old Version. Image can´t be deleted, as it is used by the container, equal if the container is stopped or not. So i deleted again the VERSION_TAG in the Container, do a reset and the VERSION_TAG switches to 0.26.1. So the issue is still there. i can show you this also remote if you need to see this. grafik

Why is there always added an environment variable with the VERSION_TAG? What is it useful for and why it isn´t upgraded by the new downloaded image on start/reset.