bramw_baserow/plugin-boilerplate/{{ cookiecutter.project_slu...
Bram Wiepjes 977ff1d043 Prepare for 1.25.1 release 2024-05-30 12:25:46 +02:00
..
plugins/{{ cookiecutter.project_module }} Prepare for 1.25.1 release 2024-05-30 12:25:46 +02:00
.env Resolve "Update Plugin boilterplate and docs to match new docker usage" 2022-07-03 17:28:50 +00:00
.gitignore Resolve "Update Plugin boilterplate and docs to match new docker usage" 2022-07-03 17:28:50 +00:00
Caddyfile Resolve "Caddy healthcheck is leaking memory" 2023-01-26 12:35:41 +00:00
Caddyfile.dev Resolve "Update Plugin boilterplate and docs to match new docker usage" 2022-07-03 17:28:50 +00:00
Dockerfile Prepare for 1.25.1 release 2024-05-30 12:25:46 +02:00
README.md Spelling 2022-07-29 09:12:43 +00:00
backend-dev.Dockerfile Prepare for 1.25.1 release 2024-05-30 12:25:46 +02:00
backend.Dockerfile Prepare for 1.25.1 release 2024-05-30 12:25:46 +02:00
dev.Dockerfile Prepare for 1.25.1 release 2024-05-30 12:25:46 +02:00
docker-compose.dev.yml Resolve "Update Plugin boilterplate and docs to match new docker usage" 2022-07-03 17:28:50 +00:00
docker-compose.multi-service.dev.yml Resolve "Caddy healthcheck is leaking memory" 2023-01-26 12:35:41 +00:00
docker-compose.multi-service.yml Resolve "Caddy healthcheck is leaking memory" 2023-01-26 12:35:41 +00:00
docker-compose.yml Resolve "Update Plugin boilterplate and docs to match new docker usage" 2022-07-03 17:28:50 +00:00
web-frontend-dev.Dockerfile Prepare for 1.25.1 release 2024-05-30 12:25:46 +02:00
web-frontend.Dockerfile Prepare for 1.25.1 release 2024-05-30 12:25:46 +02:00

README.md

{{ 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)
  1. docker-compose.yml - This is the simplest compose file that will run the your plugin installed into a single container, use docker-compose up.
  2. 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.
    1. docker-compose -f docker-compose.multi-service.yml up -d --build
  3. 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.
    1. docker-compose -f docker-compose.dev.yml up -d --build
  4. 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.
    1. docker-compose -f docker-compose.multi-service.dev.yml up -d --build

Missing features TODO

  1. A templated setup guide in the generated folder itself.
  2. Example tests for web-frontend and backend.
  3. An equivalent dev.sh
  4. Setup instructions for IDEs (vs-code/intellij)
  5. Example GitLab/GitHub CI integration + instructions to publish plugin to Dockerhub.