blob: 9debe7318e02173de6e856f3c057c5e6508c49b7 [file] [log] [blame]
FROM maven:3.9.3-eclipse-temurin-17
LABEL "org.opencontainers.image.title"="karavan-devmode"
LABEL "org.opencontainers.image.description"="Apache Camel Karavan DevMode"
LABEL "org.opencontainers.image.url"="https://camel.apache.org"
LABEL "org.opencontainers.image.licenses"="Apache 2.0"
LABEL "org.opencontainers.image.version"="4.0.0"
RUN apt-get update && apt-get install git && apt-get clean
ENV JBANG_VERSION=0.110.0
ENV CAMEL_VERSION=4.0.0
ENV KARAVAN="/karavan"
ENV JBANG_DIR="$KARAVAN/.jbang"
ENV MAVEN_CONFIG="$KARAVAN/.m2"
ENV JBANG_REPO=$MAVEN_CONFIG
ENV BUILDER_PATH="$KARAVAN/builder"
ENV CODE_DIR="$KARAVAN/code"
ENV KAMELETS_DIR="$CODE_DIR/kamelets"
ENV PATH="$PATH:$KARAVAN/.jbang/bin"
RUN mkdir -p $JBANG_REPO \
&& mkdir -p $CODE_DIR \
&& mkdir -p $BUILDER_PATH
RUN useradd -rm -d /karavan -s /bin/bash -g root -G sudo -u 1001 karavan
RUN chown -R karavan $KARAVAN
RUN chgrp -R 0 $KARAVAN && chmod -R g+rwX $KARAVAN
USER karavan
RUN curl -Ls https://sh.jbang.dev | bash -s - app setup \
&& jbang trust add --quiet https://github.com/apache/camel \
&& jbang app install camel@apache/camel \
&& jbang config set cache-evict never
EXPOSE 8080
WORKDIR $CODE_DIR
CMD jbang $JBANG_OPTIONS -Dcamel.jbang.version=$CAMEL_VERSION camel@apache/camel run --source-dir=$CODE_DIR --console --local-kamelet-dir=$KAMELETS_DIR