9锔忊儯 馃惓 Add all-in-one image used as a base by cloudron/heroku.
Changes in this MR
- Added all-in-one Baserow docker image and made the cloudron and heroku images build from it.
- Added support for building images which don鈥檛 have a dev version to jobs.yml build-final-baserow-image
- Added support for the BUILD_FROM_BACKEND_IMAGE and BUILD_FROM_WEBFRONTEND_IMAGE arguments to jobs.yml build-final-baserow-image which set the Dockerfile build args FROM_BACKEND_IMAGE and FROM_WEBFRONTEND_IMAGE respectively. Used to build the all-in-one image.
- Added backup and restore commands to the backend docker-entrypoint script
- Added a new BASEROW_PUBLIC_URLS variable used when Caddy is in use which overrides PUBLIC_BACKEND/WEBFRONTEND_URL to the first url in BASEROW_PUBLIC_URLS (its comma separated). We need multiple urls so we can tell Caddy to listen for multiple different addresses (by default we listen on localhost + any connection to port :80)
- Added healthchecks to the docker-entrypoint and use them in docker-compose files + docker images
- Fixed a bug where our redis python library was downgraded accidentally by including django-redis 5.1.0, added a small ci script to prevent this from happening again
- Added the django healthcheck library which checks the backend is healthy in a number of ways. Exposed this on a private URL (its hidden by caddy, in the saas I鈥檝e updated the ingress config to hide it also)
- We now fail automatically if you haven鈥檛 set your own SECRET_KEY in the compose files
- In compose we also now require the user to set a REDIS_PASSWORD and POSTGRES_PASSWORD . Having all our users use the same hardcoded Baserow password for these services seems like a big security risk.
- In the all-in-one images we auto generate and use a REDIS_PASSWORD and POSTGRES_PASSWORD
- Updated README
- Added a simple SECURITY.md
- Added the local, all-in-one, cloudron and heroku flags to ./dev.sh for running it for these different environments. For example you can build the heroku image and run it locally by running ./dev.sh heroku restart 鈥揵uild (make sure you first run ./dev.sh local build_only and ./dev.sh all_in_one build_only to build fresh copies of those images used by the heroku one, same applies for all_in_one needs local built first and cloudron needs local and all_in_one)
Merge Request Checklist
-
changelog.md has been updated if required -
New/updated Premium features are separated correctly in the premium folder -
The latest Chrome and Firefox have been used to test any new frontend features -
Documentation has been updated -
Quality Standards are met -
Performance: tables are still fast with 100k+ rows, 100+ field tables -
The redoc API pages have been updated for any REST API changes -
Our custom API docs are updated for changes to endpoints accessed via api tokens -
The UI/UX has been updated following UI Style Guide
Closes #758 (closed)
Edited by Nigel Gott