Can I just copy the docker volume to move from one self-hosted server to another?

I need to move an existing baserow docker install to another server. The existing baserow docker is using a data volume in “/var/lib/docker/volumes/baserow_data/_data”.

If I just stopped baserow, backed up the docker volume and rsynced it to the new server, repointed the DNS and started baserow on the new server… would that work?

If it makes things more complicated, the source Server is running baserow 1.13.2 and the Destination Server will be running whatever is the latest, currently 1.16, I think.

Please fill in the questionnaire below.

Technical Help Questionnaire

Have you read and followed the instructions at: *READ ME FIRST* Technical Help FAQs - #2 by nigel ?

Answer: Yes

Self-Hosted Installation and Setup Questions

Delete this section if you are using Baserow.io.

How have you self-hosted Baserow.

docker

What are the specs of the service or server you are using to host Baserow.

20.04.5 LTS
64 GB RAM
~600 GB free disk space

Which version of Baserow are you using.

Source Server: 1.13.2
Destination Server: (latest) 1.16

How have you configured your self-hosted installation?

What commands if any did you use to start your Baserow server?

Same as the docs, afaik, except changing the URL:

docker run
-d
–name baserow
-e BASEROW_PUBLIC_URL=http://localhost
-v baserow_data:/baserow/data
-p 80:80
-p 443:443
–restart unless-stopped
baserow/baserow:1.16.0

Describe the problem

Describe, step by step, how to reproduce the error or problem you are encountering.

Provide screenshots or include share links showing:

How many rows in total do you have in your Baserow tables?

Please attach full logs from all of Baserow’s services

Hey @dlock,

In theory that would do it just make sure the permissions on the volume are the same. What I would do is make sure the destination server is running the same version of Baserow then check that everything is working then do the upgrade. If you import into a newer version if something goes wrong it will be harder to know if the issue is because of the new version or the migration.

The other thing you could try is a backup and restore, which then doesn’t depend on a docker migration and has a higher chance of working.

  1. Set up the new server to use 1.13.2 or upgrade the current install to 1.16
  2. Follow the steps here to backup all of Baserow: Install with Docker // Baserow
  3. Copy the backup files to the new server
  4. Follow the steps here to restore all of Baserow: Install with Docker // Baserow
  5. Test to make sure everything is working

Hi @dlock and everybody,

If you encounter issues while moving the Baserow server by copying the volume, I’ve also faced a similar problem due to an incorrect folder path. Specifically, there was a difference between the paths:

/var/lib/docker/volumes/baserow_data 
<--- different from -->
/var/lib/docker/volumes/baserow_data/_data

Additionally, I encountered another problem where I received the error message “FATAL: password authentication failed for user ‘baserow’.” This was caused by having a new instance of the file in baserow_data/.pgpass. To resolve this problem, I simply copied the contents from baserow_data/_data/.pgpass to baserow_data/.pgpass.

I wish everyone success with migrating their Baserow data.

Hello @dangngocbinh, thank you for sharing your experience and tips. They will be very useful for future readers. :blue_heart:

2 Likes