Change BASEROW_PUBLIC_URL in running Docker container

Apologies if this has already been asked - I (surprisingly) can’t seem to find another topic that quite matches this use case.

I set up Baserow using the “docker run” method, and I set the BASEROW_PUBLIC_URL to my AWS IP. I’ve since set up a static IP for the AWS container (so the old IP I used is no longer accessible) and I created an actual URL associated with this static IP.

What I can’t figure out how to do is modify the Docker image to use the new URL. I don’t want to lose the container and the data it contains, although if I can export the data and import it into a new container that could work. But best solution would simply be to change the public URL associated with this container.

Is this possible, and if so how can I do it? Thank you!

Hey @gw_dd,

If you set up the volumes for the data it should be still be there on a container restart / update. Assuming that is all good it would just be a case of stopping the container and starting it up again with the new option.

Can you share the run command you used we could use that to check it would be ok.

Howdy @joffcom,

Thanks for the response! The run command I am using is the exact one provided by the installation guide:

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

When I run this I get a message saying that “The container name “/baserow” is already in use by container …”.

I probably should have made clear that I’m a complete noob in regards to Docker. I can start and stop the container, but I don’t really know how to start it again with different environmental variables, and the research I did seemed to indicate that you couldn’t do this.

Let me know what I can do here - thanks!

Hey @gw_dd,

Looking at that command you have the baserow_data volume so you should be good to go, You would first need to stop the current container with something like docker stop baserow then run the command again with the URL set.

Thanks for helping me so far @joffcom. I’ve run the docker stop baserow command to stop the container, but when I try running the docker run ... command I get an error saying:

docker: Error response from daemon: Conflict. The container name "/baserow" is already in use by container "3981ed3eab2a61bb539d568b60a9f94ec5ff60d851b5a2332356b696d8976868". You have to remove (or rename) that container to be able to reuse that name.

You mention the baserow_data volume - can I spin up a new container (named something like baserow2 or whatever) and use that same volume to get things working again? Or is there something else I should do here? Thank you!

Updating: did some more research and found that if we change the container name but keep the same volume, the volume will be reused instead of recreated. So changing the docker run command to use a different name (something like --name baserow2 or whatever) and updating the BASEROW_PUBLIC_URL variable recreates the environment with the correct URL and preserves the data.

Problem is solved. Thank you for your help @joffcom