Install using Standalone Images¶
Any questions, problems or suggestions with this guide? Ask a question in our issue tracker or contribute the change yourself at https://github.com/carneirofc/baserow/tree/develop/docs .
Docker version 19.03 is the minimum required to build Saveroom. 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
docker -v.
Saveroom consists of a number of services, two of which are built and provided as
separate standalone images by us:
* ghcr.io/carneirofc/baserow/backend:0.6.0 which by default starts the Gunicorn Django backend server
for Saveroom but is also used to start the celery workers and celery beat services.
* ghcr.io/carneirofc/baserow/web-frontend:0.6.0 which 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 Saveroom independently.
For an example of how to use these images see the
docker-compose.yaml
in the root of our repository.
All Services needed to run Saveroom¶
These are all the services you need to set up to run a Saveroom using the standalone images:
ghcr.io/carneirofc/baserow/backend:0.6.0(default command isgunicorn)ghcr.io/carneirofc/baserow/backend:0.6.0with commandcelery-workerghcr.io/carneirofc/baserow/backend:0.6.0with commandcelery-exportworkerghcr.io/carneirofc/baserow/backend:0.6.0with commandcelery-beatghcr.io/carneirofc/baserow/web-frontend:0.6.0(default command isnuxt-prod)- A postgres database
- A redis server
Configuration Caveats¶
- See Configuring Saveroom for specific details on the supported environment variables.
- You must set
BASEROW_PUBLIC_URL(usually only when behind your a reverse proxy, see below for details) orPUBLIC_BACKEND_URLandPUBLIC_WEB_FRONTEND_URL - You must set
PRIVATE_BACKEND_URLso the web-frontend server can make direct HTTP requests to the backend. The web-frontend might not have access to thePUBLIC_BACKEND_URLorBASEROW_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). - These images do not come with a Caddy Reverse proxy and so the
BASEROW_CADDY_ADDRESSESenvironment variable used in other installation methods has no affect. - You must set a
SECRET_KEYenvironment variable for the backend gunicorn server. - See our example
Caddyfilefor an example on how to setup a reverse proxy correctly with Saveroom. In summary you need to: - Redirect
/api/and/ws/requests to the backend gunicorn service without dropping these prefixes. - Serve the files in the
/baserow/mediafolder in the backend gunicorn service (share with your proxy using a volume) at the/mediaendpoint. Ensure all media responses haveX-Content-Type-Options: nosniffandContent-Security-Policy: sandbox; default-src 'none'; script-src 'none'; object-src 'none'; base-uri 'none'. Requests with adlquery parameter can useContent-Disposition: attachment; filename=THE_DL_QUERY_PARAM_VALUE. - Send all other requests to the web-frontend service.
- You must provide all email related environment variables to both the backend and
celery-worker services. This is because the
celery-workerservice is the one actually connecting via SMTP to send emails.