Backup and restore uptime-kuma in docker

By gill, 17 February, 2024

Use docker commands to move uptime-kuma to a new host.

Old server

[u@old-server]$ docker image ls

REPOSITORY             TAG       IMAGE ID       CREATED         SIZE
busybox                latest    3e4fd538a9a0   4 weeks ago     4.04MB
louislam/uptime-kuma   1         d84df151f227   7 weeks ago     422MB
louislam/uptime-kuma   <none>    3cca4fc6249f   10 months ago   658MB
louislam/uptime-kuma   latest    e695e5f1b0ce   13 months ago   375MB

[u@old-server]$ docker save louislam/uptime-kuma:1 > uptime-kuma.tar
[u@old-server]$ gzip uptime-kuma.tar 
[u@old-server]$ rsync -avz uptime-kuma.tar.gz new-server:.
[u@old-server]$ docker container ls
CONTAINER ID   IMAGE                    COMMAND                  CREATED       STATUS                    PORTS                                       NAMES
dbcf5bebb359   louislam/uptime-kuma:1   "/usr/bin/dumb-init …"   5 hours ago   Up 28 minutes (healthy)   0.0.0.0:3001->3001/tcp, :::3001->3001/tcp   uptime-kuma
[u@old-server]$ docker run --rm --volumes-from $C -v $(pwd):/backup busybox tar cvf /backup/backup.tar /app/data

tar: removing leading '/' from member names

app/data/
app/data/upload/
app/data/kuma.db
app/data/kuma.db.bak0
app/data/kuma.db-shm.bak0
app/data/kuma.db-wal.bak0
app/data/error.log
app/data/kuma.db.bak20220926224559
app/data/kuma.db-shm.bak20220926224559
app/data/kuma.db-wal.bak20220926224559
app/data/kuma.db.bak20230206185558
app/data/kuma.db-shm.bak20230206185558
app/data/kuma.db-wal.bak20230206185558
app/data/kuma.db.bak20230401155147
app/data/kuma.db-shm.bak20230401155147
app/data/kuma.db-wal.bak20230401155147
app/data/plugins/
app/data/screenshots/
app/data/docker-tls/
app/data/kuma.db-wal
app/data/kuma.db-shm

[u@old-server]$ rsync -avz backup.tar new-server:.


 

New server

[u@new-server]$ docker load -i uptime-kuma.tar
[u@new-server]$ docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

[u@new-server]$ docker container ls
CONTAINER ID   IMAGE                    COMMAND                  CREATED          STATUS                    PORTS                                       NAMES
de9d3c98be34   louislam/uptime-kuma:1   "/usr/bin/dumb-init …"   12 minutes ago   Up 12 minutes (healthy)   0.0.0.0:3001->3001/tcp, :::3001->3001/tcp   uptime-kuma

[u@new-server]$ docker run --rm --volumes-from de9d3c98be34 -v $(pwd):/backup busybox tar xvf /backup/backup.tar
 

Private
Yes