Docker CE installation fails to renew certificate

Hello,
my certificate expired today.
The auto renew didn’t work.
I stopped and started the container and it returns the follwing which indicates that the ssl.sh script tries to pull something from git and failed.
Is there any update? I am running 9.0.4.

thanks! Till

seafile | *** Running /etc/my_init.d/01_create_data
_links.sh…
seafile | *** Booting runit daemon…
seafile | *** Runit started as PID 25
seafile | *** Running /scripts/enterpoint.sh…
seafile | 2022-03-28 17:42:54 Waiting Nginx
seafile | 2022-03-28 17:42:55 Nginx ready
seafile | 2022-03-28 17:42:55 This is a idle script (infinite loop) to keep container running.
seafile | Certificate will expire
seafile | fatal: remote error:
seafile | The unauthenticated git protocol on port 9418 is no longer supported.
seafile | Please see Improving Git protocol security on GitHub | The GitHub Blog for more information.
seafile | [2022-03-28 17:42:55] Preparing for letsencrypt …
seafile | [2022-03-28 17:42:55] Found existing cert file /shared/ssl/.crt
seafile | [2022-03-28 17:42:55] Starting letsencrypt verification
seafile | Traceback (most recent call last):
seafile | File “/scripts/start.py”, line 86, in
seafile | main()
seafile | File “/scripts/start.py”, line 51, in main
seafile | init_letsencrypt()
seafile | File “/scripts/bootstrap.py”, line 80, in init_letsencrypt
seafile | call(’/scripts/ssl.sh {0} {1}’.format(ssl_dir, domain))
seafile | File “/scripts/utils.py”, line 70, in call
seafile | return subprocess.check_call(*a, **kw)
seafile | File “/usr/lib/python3.8/subprocess.py”, line 364, in check_call
seafile | raise CalledProcessError(retcode, cmd)
seafile | subprocess.CalledProcessError: Command '/scripts/ssl.sh /shared/ssl ’ returned non-zero exit status 1.

Does anyone have a workaround for this? Obviously the certificate renewal script within the container stopped working due to the use of unsupported git protocol.

Ok, I worked around this by doing the following:

  • connect to the running container “docker exec -it seafile /bin/bash”
  • vi into /scripts/ssl.sh and change “git:” to “https:”
  • vi into /shared/ssl/letsencrypt/.git and do the same there
  • disconnect from the container and restart it (docker restart seafile)
    Then the script should run through.
    Don’t restart the compose stack as it will remove the container and re-create it. Then your changes are gone. So this is a temporary fix.

Thank you for guiding me in the correct way, we are still using Pro version but a older version and could not renew the ssl. So I could not run the container as it keeps crashing.

So I stopped the container then used the following to update the file.

docker cp seafile:/scripts/ssl.sh .

edited the file and changed git to https and then used

docker cp ssh.sh seafile:/scripts/ssl.sh

This solved the issue in the meantime.