Baserow image on Docker Hub

Hi,
thanks for creating Baserow, it looks very promising!
I’m trying to setup self hosted version on Qnap NAS via its container manager (Container Station - it’s basically an interface to browse i.e. Docker Hub and click “Install”), but from what I can see there’s an older version available there:
tiredofit/baserow - Docker Image | Docker Hub
Are you planning on updating Docker Hub on regular basis?

Hey @simplynail , I am literally starting work on automatic builds and publishes of Baserow to Dockerhub next week :slight_smile: From release 1.9 and onwards we will be providing regularly updated official Baserow docker images on Dockerhub. Every new release of Baserow will be immediately available on Dockerhub.

From a brief look at Container Station it looks like you’ll be needing a single all-in-one docker image to deploy Baserow? That is it expects one container per service and doesn’t support something like docker-compose.

Finally to clarify the old image you’ve linked was uploaded by a community member and is not ‘official’ per say.

1 Like

thanks @nigel for quick response!
That’s great, looking forward to be able to download it then!
I think most convenient it would be to use single image, I’m just starting with NASes but from what I can see my product could also potentially take a docker-compose YAML file, so it could be also done this way I guess if it’s easier for you to manage.
Being cautious about the data I’d store in my Postgres DB, how do I make sure I don’t loose my data i.e. when you at some point decide to upgrade Postgres version defined in your build?

As for image selection pasted above:
I found couple of images there on Docker Hub and pasted a link to the one with the most stars next to it :slight_smile:

The tiredofit/baserow - Docker Image | Docker Hub is not an officially maintained version by us. Someone from the community created this, but it hasn’t been updated for 9 months, so it’s very outdated.

As @nigel pointed out. We’re going to start working on official Docker images soon They’re going to be updated after every release.

@simplynail We’ll be offering both a docker-compose file using separate containers and official images for all the different services, and also a single docker image which internally contains all the services in one container, both options can optionally be connected to an external postgres database (otherwise it will use an internal one).

To answer your question about how postgres upgrades will be handled in the future, we hope to do it entirely automatically if you were using the embedded postgres in the all-in-one image or the postgres db service defined in the docker-compose.yml. Any such automatic upgrade would take backups etc to ensure a rollback is possible.

Instead if you were to connect your own external postgres we would warn/error on Baserow startup saying a postgres upgrade is required and leave it upto the user.

We do have plans of removing support for postgres 10 shortly and we will be publishing a more official officially supported versions document also. If you are already using pg12+ I would expect Baserow to support those versions for a long time.

Thanks @bram & @nigel for broader explanation - I’ll give it a go once the images are ready!
ot sure if you plan to announce it somehow on your blog once they arrive, if not if you could drop a message here it would be great.

Hi @bram, @nigel, any luck with deploying the combined image to Docker Hub? I can see Cloudron image is quite fresh, but baserow/baserow seems to be empty.

We are almost done with the new Dockerimages any day now hopefully! The cloudron image already on Dockerhub was just me backing up our existing cloudron images to Dockerhub also incase I accidentally deleted them whilst working on our gitlab docker repo.

Understood - would be great if you could announce them being ready (either here or on blog, whatever is better for you), so I can pick this up as soon as there’s something to play around with!

Also a small suggestion on the docs - while I was browsing the manuals how to deploy to Heroku/Cloudron or any other type of deployment I haven’t seen a full list of mandatory/optional ENV variables to be set in order to configure images to work properly (i.e. DB/Redis host, port etc.).
A list of the names of ENV variables to be set for each deployment destination (or a direct link to file in the repo that contains such list) would be convenient as from what I can see you name those variables differently depending on the location of deployment (i.e. prefix them with “CLOUDRON_”)

@simplynail There will a blog post + email + post made here when the next release comes. Agree 100% on the list of env variables etc, I was already adding this to the docs as of last week :)!

I believe the CLOUDRON_ prefixed variables are literally variables set by CLOUDRON and not us. We don’t have a prefixing convention for our env variables, which I think will become much more apparent when the configuration doc showing them is ready. Perhaps in the future we can prefix all of our variables etc with BASEROW_ , but this is only a vague idea I have and won’t be including in the next release.

1 Like

Hi @nigel , as I was trying to deploy Cloudron image onto my NAS (and see what happens) I finally found this settings file in your repo (link below).
It seems to override some of the settings with “CLOUDRON_” prefix, but not sure if those are all the settings that are available - just pasting in here for your convenience.

Hi @nigel, any news on this?

Hi, we have released new images with the latest version of Baserow (currently 1.9.1). We also have a list of all environment variables here: Configuring Baserow // Baserow. Hope this helps!

1 Like

great @petrs , thanks for the update!
I’ll give it a go!

Hi Guys,
heads up - good news, I was able to spin up the docker all-in-one image from baserow/baserow from DockerHub onto my NAS.
(on specific settings I’ve done: in env variables I just set BASEROW_PUBLIC_URL to IP of my NAS on LAN network, and also needed to set port forwarding 80:80; I also mounted volume /baserow/data to some folder located on host).

Now, maybe silly questions:

  • how do I get first user registered (supposedly as superuser)? Is there any “default (super)user” already created after brand new instance of baserow has been spined up?

  • when I try to register new user via frontend I get error

“Action not completed.
The action couldn’t be completed because an unknown error has occured.”

Not sure what the reason for error is, when I check container terminal window it just prints 200 status codes, and no tracebacks raised there.

Where to look for traceback logs? Is that settable via some env variable to streamline all logs from different services like django, celery etc. to one common folder?

Through the sign up form, the first created user will be the admin automatically.

As to your error, can you open the browser web development tools, the network panel and tell us what requests and responses do you see there?

Hey @simplynail ,

Not silly questions at all :slight_smile: I have some extra questions to help debug your issue:

  1. What is the exact URL you are using to access Baserow in your browser? Does this exactly match what you’ve set BASEROW_PUBLIC_URL to?
  2. What sort of NAS are you using? Can you provide a screenshot if possible showing how you have configured Baserow using it? Feel free to PM this me directly or email to nigel@baserow.io
  3. Do you have a reverse proxy in front of Baserow or is your NAS doing some sort of redirect when passing requests onto Baserow? if so could you provide any relevant configuration?
  4. To raise the log level you can set the following environment variables on the baserow container:
    • BASEROW_BACKEND_DEBUG=on
    • BASEROW_BACKEND_LOG_LEVEL=DEBUG
    • BASEROW_CADDY_GLOBAL_CONF=debug
  5. If still having problems could you set the above variables and PM or email me the full output of your containers logs after restarting Baserow, trying to access it and then getting the error?

Thanks,
Nigel

Thanks guys,
as for @petrs question:
Chrome DevTools actually give some indication - I get following error on submit = POST request from /signup URI:
POST http://192.168.10.177/192.168.10.177/api/user/ 404 (Not Found)
for some reason IP is duplicated in the path above

I’m accessing my Baserow instance via http://192.168.10.177/ (my LAN IP address of NAS machine), this is also IP address what I have set as BASEROW_PUBLIC_URL - the exact value is “192.168.10.177” (I’m mapping 80:80 ports on the container)

Ah I know, BASEROW_PUBLIC_URL must be a valid url. So it must be http://YOUR_IP and not just YOUR_IP.

I’ve created this issue to report a better error in this situation Backend URL mis-configuration detected error does not warn on invalid urls (#872) · Issues · Bram Wiepjes / baserow · GitLab