Docker - manual update process
-
- Last edited 4 years ago by MLR
-
Introduction
- Edition: BlueSpice free, distributed on Docker Hub as a Docker image.
- The current 3.1.2 release has no automatic upgrade feature. The automatic upgrade feature will be included at BlueSpice 3.1.3.
- This document covers the manual upgrade process and how to fix some known issues.
Spinning up a new container with old data
We assume you have a BlueSpice installation from Docker Hub. Also, this installation should have been done with external data volume.
Example:
docker run -d -p 80:80 -v {/my/data/folder}:/data bluespice/bluespice-free
1.Back-up your current data folder:
sudo cp -Rf /my/data/folder /my/data/current
2. Stop your current BlueSpice-free container:
docker container stop $your_container_id_or_name
3. Remove the container (optional):
docker container rm $your_container_id_or_name
4. Fetch the new container image:
docker pull bluespice/bluespice-free:latest
5. Create a new data folder for the new installation:
mkdir /my/data/new
6. Create a fresh container with the new image:
docker run -d -p 80:80 -v {/my/data/new}:/data bluespice/bluespice-free
7. When the container boots up, you have an empty wiki. Stop the newly created docker and move back your old backup to the new instance:
docker container stop $new_container_name_or_id
8. Remove the content of the new container:
sudo rm -Rf /my/data/new/*
9. Move the backup into /my/data/new:
sudo cp -Rf /my/data/current/* /my/data/new/
10. Start the newly created container:
docker container start $new_container_name_or_id
Now, your new container with your old data is up.
But you still have to run some maintenance scripts as well as some fixes:
sudo docker exec $new_container_name_or_id chown -Rf mysql:mysql /data/mysql sudo docker exec $new_container_name_or_id /etc/init.d/mysql restart sudo docker exec $new_container_name_or_id /opt/docker/setwikiperm.sh /data/www/bluespice/w sudo docker exec $new_container_name_or_id /usr/bin/php /data/www/bluespice/w/maintenance/update.php --quick sudo docker exec $new_container_name_or_id /usr/bin/php /data/www/bluespice/w/maintenance/rebuildall.php --quick sudo docker exec $new_container_name_or_id /usr/bin/php /data/www/bluespice/w/extensions/BlueSpiceExtendedSearch/maintenance/initBackends.php --quick sudo docker exec $new_container_name_or_id /usr/bin/php /data/www/bluespice/w/extensions/BlueSpiceExtendedSearch/maintenance/rebuildIndex.php sudo docker exec $new_container_name_or_id /usr/bin/php /data/www/bluespice/w/maintenance/runJobs.php
Fixing the broken search
The following commands fix the BlueSpiceExtendedSearch indexes:
sudo docker exec $container_name_or_id /opt/docker/setwikiperm.sh /data/www/bluespice/w sudo docker exec $container_name_or_id /usr/bin/php /data/www/bluespice/w/maintenance/update.php --quick sudo docker exec $container_name_or_id /usr/bin/php /data/www/bluespice/w/maintenance/rebuildall.php --quick sudo docker exec $container_name_or_id /usr/bin/php /data/www/bluespice/w/extensions/BlueSpiceExtendedSearch/maintenance/initBackends.php --quick sudo docker exec $container_name_or_id /usr/bin/php /data/www/bluespice/w/extensions/BlueSpiceExtendedSearch/maintenance/rebuildIndex.php su