2.4 KiB
Updating is straightforward, you just make sure to preserve the mounted volume. If you used the bind-mounted path as in the example here, you just need to pull the latest image, stop and rm the current container and then start a new one the same way as before:
# Pull the latest version
docker pull bitwardenrs/server:latest
# Stop and remove the old container
docker stop bitwarden
docker rm bitwarden
# Start new container with the data mounted
docker run -d --name bitwarden -v /bw-data/:/data/ -p 80:80 bitwardenrs/server:latest
Then visit http://localhost:80
In case you didn't bind mount the volume for persistent data, you need an intermediate step where you preserve the data with an intermediate container:
# Pull the latest version
docker pull bitwardenrs/server:latest
# Create intermediate container to preserve data
docker run --volumes-from bitwarden --name bitwarden_data busybox true
# Stop and remove the old container
docker stop bitwarden
docker rm bitwarden
# Start new container with the data mounted
docker run -d --volumes-from bitwarden_data --name bitwarden -p 80:80 bitwardenrs/server:latest
# Optionally remove the intermediate container
docker rm bitwarden_data
# Alternatively you can keep data container around for future updates in which case you can skip last step.
Updating when using systemd service (in this case Debian/Rasbian)
Sudo systemctl restart bitwarden.service
Sudo docker prune -f
#WARNING this could delete stopped or unused containers, etc. not associated with bitwarden_rs
#be carefull and look which containers you need
docker ps -a
shows stopped containers
#WARNING! This will remove:
# - all stopped #containers
# - all networks not used by at least one container
# - all dangling images
# - all dangling build cache
#you can list docker images with
docker images
#there you see all unused images
#
The restart command will stop the container, pull the newest images, run the container again. The prune command will remove the now old container (-f stands for: Do not ask for confirmation).
Put these into cronjob if you want (time can be changed):
Sudo crontab -e
0 2 * * * sudo systemctl restart bitwarden.service
0 3 * * * sudo /usr/bin/docker system prune -f
Use the command
docker which
if /usr/bin/docker is not the correct path to docker