Complete Guide to Migrating MX Space Blog to a New Cloud Server
Preface
I recently found a cheaper cloud server and decided to move all my existing services over.
I originally planned to use 1Panel’s snapshot feature for a one-click migration, but here’s what I discovered:
The blog space (MX Space) cannot be fully migrated via snapshots.
So I had to do it manually—and I’m documenting the entire process here for future reference.
1. DNS Record Migration
First, point your domain to the new server.
- Log in to your domain’s DNS provider
- Update the A record → point it to the new server IP
- Set a low TTL (e.g., 600 seconds) for faster propagation
Example:
Record Type Host Value ------------- ---------- ------------- A @ New server IP A www New server IP
Wait for the changes to propagate (usually 1–30 minutes).
2. Migrating the MX Space Server
1. Archive Data from the Old Server
All core MX Space data resides in the mx-space directory.
Example directory structure: /root/mx-space
Run on the old server:cd /roottar -czvf mx-space.tar.gz mx-space
2. Upload to the New Server
scp mx-space.tar.gz root@new-server-ip:/root/cd /roottar -xzvf mx-space.tar.gz
3. Start Docker Services
cd /root/mx-space/coredocker compose pulldocker compose up -ddocker ps
4. Common Follow-up Checks
ufw allow 80ufw allow 443ufw allow 22
apt updateapt install docker-compose-plugin -y
3. Deploying the Shiroi Theme (GitHub Actions)
Go to: Settings → Secrets and variables → Actions
Update the following: HOST / USER / PASSWORD / PORT / KEY / GH_PAT
Then run: Actions → Run workflow
4. Post-Migration Verification
- Open your blog’s domain
- Check that it loads correctly
- Verify the admin dashboard
- Test posts, images, and comments
Migration Summary
- Update DNS records
- Migrate
/root/mx-space - Bring up services with Docker
- Update GitHub Actions