Skip to content
Snippets Groups Projects
Dockerfile 1.97 KiB
Newer Older
  • Learn to ignore specific revisions
  • ###################
    
    # STAGE 1: builder
    
    FROM node:16-slim as builder
    
    WORKDIR /home/node
    
    RUN apt-get update && apt-get upgrade -y && apt-get install openjdk-11-jdk curl git -y \
    
    dpsutton's avatar
    dpsutton committed
        && curl -O https://download.clojure.org/install/linux-install-1.11.1.1280.sh \
        && chmod +x linux-install-1.11.1.1208.sh \
        && ./linux-install-1.11.1.1208.sh
    
    RUN INTERACTIVE=false CI=true MB_EDITION=$MB_EDITION bin/build
    
    # ###################
    # # STAGE 2: runner
    # ###################
    
    
    ## Remember that this runner image needs to be the same as bin/docker/Dockerfile with the exception that this one grabs the
    
    ## jar from the previous stage rather than the local build
    
    ## we're not yet there to provide an ARM runner till https://github.com/adoptium/adoptium/issues/96 is ready
    
    FROM --platform=linux/amd64 eclipse-temurin:11-jre-alpine as runner
    
    ENV FC_LANG en-US LC_CTYPE en_US.UTF-8
    
    
    # dependencies
    
    RUN apk add -U bash ttf-dejavu fontconfig curl java-cacerts && \
        apk upgrade && \
        rm -rf /var/cache/apk/* && \
    
        mkdir -p /app/certs && \
        curl https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem -o /app/certs/rds-combined-ca-bundle.pem  && \
        /opt/java/openjdk/bin/keytool -noprompt -import -trustcacerts -alias aws-rds -file /app/certs/rds-combined-ca-bundle.pem -keystore /etc/ssl/certs/java/cacerts -keypass changeit -storepass changeit && \
        curl https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem -o /app/certs/DigiCertGlobalRootG2.crt.pem  && \
        /opt/java/openjdk/bin/keytool -noprompt -import -trustcacerts -alias azure-cert -file /app/certs/DigiCertGlobalRootG2.crt.pem -keystore /etc/ssl/certs/java/cacerts -keypass changeit -storepass changeit && \
        mkdir -p /plugins && chmod a+rwx /plugins
    
    
    # add Metabase script and uberjar
    
    COPY --from=builder /home/node/target/uberjar/metabase.jar /app/
    
    COPY bin/docker/run_metabase.sh /app/
    
    # run it
    
    ENTRYPOINT ["/app/run_metabase.sh"]