Any questions, problems or suggestions with this guide? Ask a question in our community or contribute the change yourself at https://gitlab.com/baserow/baserow/-/tree/develop/docs .
Docker version 19.03 is the minimum required to build Baserow. It is strongly advised however that you install the latest version of Docker available. Please check that your docker is up to date by running
Baserow consists of a number of services, two of which are built and provided as separate standalone images by us:
baserow/backend:1.20.2which by default starts the Gunicorn Django backend server for Baserow but is also used to start the celery workers and celery beat services.
baserow/web-frontend:1.20.2which is a Nuxt server providing Server Side rendering for the website.
If you want to use your own container orchestration software like Kubernetes then these images let you run and scale these different parts of Baserow independently.
For an example of how to use these images see the
in the root of our repository.
These are all the services you need to set up to run a Baserow using the standalone images:
baserow/backend:1.20.2(default command is
baserow/web-frontend:1.20.2(default command is
BASEROW_PUBLIC_URL(usually only when behind your a reverse proxy, see below for details) or
PRIVATE_BACKEND_URLso the web-frontend server can make direct HTTP requests to the backend. The web-frontend might not have access to the
BASEROW_PUBLIC_URL, or there could be a more direct internal route it could use. (e.g. from container to container instead of via the internet).
BASEROW_CADDY_ADDRESSESenvironment variable used in other installation methods has no affect.
SECRET_KEYenvironment variable for the backend gunicorn server.
Caddyfilefor an example on how to setup a reverse proxy correctly with Baserow. In summary you need to:
/ws/requests to the backend gunicorn service without dropping these prefixes.
/baserow/mediafolder in the backend gunicorn service (share with your proxy using a volume) at the
/mediaendpoint. Ensure that requests with a
dlquery parameter have a
Content-dispositionheader added with the value of
celery-workerservice is the one actually connecting via SMTP to send emails.