diff --git a/content/docs/02.installation/02.docker.md b/content/docs/02.installation/02.docker.md index 1e8460b144..1804c0aa47 100644 --- a/content/docs/02.installation/02.docker.md +++ b/content/docs/02.installation/02.docker.md @@ -42,9 +42,13 @@ We provide the following tags for each Docker image: - `develop`: an image based on the `develop` branch that changes daily and contains **unstable** features we are working on; the full variant is also available `develop-full`. -### Build a Docker image with custom binaries +## Build a custom Docker image + +If the base or full image doesn't contain package dependencies you need, you can build a custom image by using the Kestra base image and adding the required binaries and dependencies. + + +### Add custom binaries -If the base or full image doesn't contain package dependencies you need, you can build a custom image by using the Kestra base image and adding the needed binaries. The following `Dockerfile` creates an image from the Kestra base image and adds the `golang` binary and Python packages: @@ -62,19 +66,6 @@ RUN mkdir -p /app/plugins && \ ### Add plugins to a Docker image -If you are developing a custom plugins, you will need at first to [build it](../09.plugin-developer-guide/08.build.md). Once the shadowJar is build, you just to copy this one inside the plugin's directory: - -```dockerfile -ARG IMAGE_TAG=latest -FROM kestra/kestra:$IMAGE_TAG - -RUN mkdir -p /app/plugins - -COPY /build/libs/*.jar /app/plugins -``` - -### Add a custom plugins to a Docker image - By default, the base Docker image `kestra/kestra:latest` does not contain any plugins (unless you use the `kestra/kestra:latest-full` version). You can add the needed plugins to the base image and build a custom image. The following `Dockerfile` creates an image from the base image and adds the `plugin-notifications`, `storage-gcs` and `plugin-gcp` binaries using the command `kestra plugins install`: @@ -91,7 +82,20 @@ RUN /app/kestra plugins install \ ### Add custom plugins to a Docker image -The above Dockerfile installs plugins that have already been published to [Maven Central](https://central.sonatype.com/). If you would like to build custom plugins from a specific Git repository, you can use the following approach: +The above Dockerfile installs plugins that have already been published to [Maven Central](https://central.sonatype.com/). If you are developing a custom plugin, make sure to [build it](../09.plugin-developer-guide/08.build.md). Once the `shadowJar` is built, add it to the plugin's directory: + +```dockerfile +ARG IMAGE_TAG=latest +FROM kestra/kestra:$IMAGE_TAG + +RUN mkdir -p /app/plugins + +COPY /build/libs/*.jar /app/plugins +``` + +### Add custom plugins from a Git repository + +If you would like to build custom plugins from a specific Git repository, you can use the following approach: ```dockerfile FROM openjdk:17-slim as stage-build diff --git a/pages/about-us.vue b/pages/about-us.vue index 30ed7ba5a0..3f880ee7ad 100644 --- a/pages/about-us.vue +++ b/pages/about-us.vue @@ -15,7 +15,7 @@