Update Acme.sh Docker Container

Introduction

I’m using Diun to be notified about outdated Docker container. Today I was notified about an outstanding update for acme.sh. I’m using acme in various variants but this container was running on my Synology, outside the management provided by Dockge, so I had to update the container manually.

Update procedure

Login to your Host via SSH and become root. Update to the latest image by using docker pull neilpang/acme.sh. Here’s an example call from my machine:

ash-4.4# docker pull neilpang/acme.sh
Using default tag: latest
latest: Pulling from neilpang/acme.sh
f18232174bc9: Already exists
a02477d504ae: Pull complete
cdbb199096b6: Pull complete
e84b361f958b: Pull complete
d2ab1c727d8c: Pull complete
b17b2bc9b3ea: Pull complete
ec66d11b3eb8: Pull complete
166c8dec79a1: Pull complete
99b492c2aef4: Pull complete
6a45f468ca50: Pull complete
Digest: sha256:1900e9b22a4859c6e1da3bb8184d5a129d63537502f9f9053b807dc2939c1e23
Status: Downloaded newer image for neilpang/acme.sh:latest
docker.io/neilpang/acme.sh:latest

Now you’ll have to recreate the currently running container. You can check if your container is running by using docker ps|grep acme. Again an example output:

ash-4.4# docker ps|grep acme
1144de4611aa   187c1f47ec28                                   "/entry.sh daemon"       15 months ago    Up 2 weeks                                                            acme

For the recreation you’ll need to know how you’ll originally started your container. I did this manually when I setup acme for the first time using these instructions. My only custom modification was that I’m referencing a volume to keep my certificates.

You can now either stop, remove and recreate the container or stop, remove and recreate it in a docker-compose file. I’ve chosen the latter variant to spare me from future manual updates. My docker-compose.yml looks like this:

services:
  acme:
    image: neilpang/acme.sh:latest
    container_name: acme
    restart: unless-stopped
    command: daemon
    volumes:
      - /volume1/docker/acme:/acme.sh
networks: {}

Now I can just hit update in Dockge and I’m getting my container updated.

Conclusion

I have no idea why I did not move acme to a docker-compose file earlier. Updating it this way is way more comfortable. But the best thing about this update is probably that I’ve did migrate my setup to Dockge.

Last updated on Apr 27, 2025 22:08 +0200