mirror of
https://gitlab.com/bramw/baserow.git
synced 2024-11-21 07:17:53 +00:00
.. | ||
plugins/{{ cookiecutter.project_module }} | ||
.env | ||
.gitignore | ||
backend-dev.Dockerfile | ||
backend.Dockerfile | ||
Caddyfile | ||
Caddyfile.dev | ||
dev.Dockerfile | ||
docker-compose.dev.yml | ||
docker-compose.multi-service.dev.yml | ||
docker-compose.multi-service.yml | ||
docker-compose.yml | ||
Dockerfile | ||
README.md | ||
web-frontend-dev.Dockerfile | ||
web-frontend.Dockerfile |
{{ cookiecutter.project_name }}
Baserow Plugins
A Baserow plugin can be used to extend or change the functionality of Baserow.
Specifically a plugin is a folder with a backend
and/or web-frontend
folder.
How to run {{ cookiecutter.project_name }} using Docker-compose
A number of different example docker-compose files are provided in this folder. Before using any of them it is recommended you set the following env variables:
# Enable Docker buildkit
export COMPOSE_DOCKER_CLI_BUILD=1
export DOCKER_BUILDKIT=1
# Set these variables so the images are built and run with the same uid/gid as your
# actual user. This prevents permission issues when mounting your local source into
# the images.
export PLUGIN_BUILD_UID=$(id -u)
export PLUGIN_BUILD_GID=$(id -g)
docker-compose.yml
- This is the simplest compose file that will run the your plugin installed into a single container, usedocker-compose up
.docker-compose.multi-service.yml
- This is a more complex compose file which runs each of the Baserow services with your plugin installed in separate containers all behind a Caddy reverse proxy.docker-compose -f docker-compose.multi-service.yml up -d --build
docker-compose.dev.yml
- This is a development compose file which runs a Baserow all-in-one image with your plugin installed in development mode. Additionally, it will mount in the local source code into the container for hot code reloading.docker-compose -f docker-compose.dev.yml up -d --build
docker-compose.multi-service.dev.yml
- This is a development compose file which runs the services in a separate containers like the.multi-service.yml
above. The images used will be the development variants which have dev dependencies installed. Additionally, it will mount in the local source code into the containers so for hot code reloading.docker-compose -f docker-compose.multi-service.dev.yml up -d --build
Missing features TODO
- A templated setup guide in the generated folder itself.
- Example tests for web-frontend and backend.
- An equivalent dev.sh
- Setup instructions for IDEs (vs-code/intellij)
- Example GitLab/GitHub CI integration + instructions to publish plugin to Dockerhub.