Toyhouse Migration
Migration toyhouse.wiki
Installation Inspection
On source server, below are the fact that is found. Installation is using docker container, we can check with docker ps command, and below are the output
docker ps
As we can inspect, there are fourteen containers that are running on the source server. It is possible that not all of the containers is functional. Since there are no yml file that is directly related to bring the whole configuration up, decided to reverse engineer the installation by exporting the container, copy them to new server and proceed the installation on new server. Instead of building the container from scratch, which are the normal procedure of deploying new server.
Then, next step is to find mounted directory which use by the container on the host machine, we can use below command to display the configuration of each container
docker inspect [container-name]
and, to inspect the mediawiki container installation, type below command
docker inspect mediawiki
which, we can see portion of the output below
"HostConfig": { "Binds": [ "/data/xlpsystem/mediawiki_dev:/xlp_dev:rw", "/data/xlpsystem/mediawiki:/xlp_data:rw" ],
after performing similar command for all the container, we can conclude that the mounter folder at host machine is at /data/xlpsystem/
Outline Planning
- Export all docker container from source server using docker command
- Copy the mounted folder
- Transfer all file to target server
- Prepare the target server
- Re-Create the docker-run command
- Bring docker container up
- Solve all issues
Below are the process of above plan, and all of the issues, and how to solve them.
Exporting all the containers
Transfer all file to target server
Prepare the target server
Mariadb Container
Mediawiki Container
Matomo Container
Once the container is up, found authorization problem that we need to enable access for user id 1000 on matomo volume, below is the command to perform that action.
sudo useradd -u 1000 mtm_user