This upgrade takes care of our move to JDK 17, Spring Boot 3.0.1 and a few other security upgrades along the way. Fixes #18993 TODO: - [x] Check CI changes for Java 17 - [x] Check vulnerability report - [x] Mongock needs an upgrade - [x] Add JVM args at all possible places for exposing java.time module - [x] Add type adapters everywhere / use the same config for type adapters everywhere
34 lines
1.1 KiB
Docker
34 lines
1.1 KiB
Docker
#When you are building, name it appsmith-server which is how it is referenced in docker-compose.yml
|
|
|
|
FROM eclipse-temurin:17-jdk-alpine as jdk-image
|
|
|
|
RUN ${JAVA_HOME}/bin/jlink --module-path jmods --add-modules jdk.jcmd --output /jcmd
|
|
|
|
FROM eclipse-temurin:17-jre-alpine
|
|
|
|
COPY --from=jdk-image /jcmd /jcmd
|
|
|
|
LABEL maintainer="tech@appsmith.com"
|
|
|
|
VOLUME /tmp
|
|
|
|
EXPOSE 8080
|
|
|
|
ARG JAR_FILE=./dist/server-*.jar
|
|
ARG PLUGIN_JARS=./dist/plugins/*.jar
|
|
ARG APPSMITH_SEGMENT_CE_KEY
|
|
ENV APPSMITH_SEGMENT_CE_KEY=${APPSMITH_SEGMENT_CE_KEY}
|
|
|
|
#Create the plugins directory
|
|
RUN mkdir -p /plugins
|
|
|
|
# Add entrypoint script and make it executable.
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
#Add the jar to the container. Always keep this at the end. This is to ensure that all the things that can be taken
|
|
#care of via the cache happens. The following statement would lead to copy because of change in hash value
|
|
COPY ${JAR_FILE} server.jar
|
|
COPY ${PLUGIN_JARS} /plugins/
|
|
HEALTHCHECK --interval=15s --timeout=15s --start-period=15s --retries=3 CMD wget --no-verbose --spider http://localhost:8080/api/v1/users/me/ || exit 1
|
|
ENTRYPOINT ["/entrypoint.sh"] |