change Dockerfile for kontor-spring to multistage and add kontor-javalin
This commit is contained in:
@@ -113,6 +113,23 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
kontor-javalin:
|
||||||
|
build:
|
||||||
|
context: ./kontor-javalin
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
tags:
|
||||||
|
- kontor-javalin:0.2.0-SNAPSHOT
|
||||||
|
image: kontor-javalin:0.2.0-SNAPSHOT
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- database
|
||||||
|
- integration
|
||||||
|
- frontend
|
||||||
|
ports:
|
||||||
|
- 8400:8400
|
||||||
|
depends_on:
|
||||||
|
postgres:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
integration:
|
integration:
|
||||||
|
|||||||
@@ -1,5 +1,28 @@
|
|||||||
FROM alpine/java:21-jdk
|
# ----------------------------------------------------------------------- #
|
||||||
|
FROM gradle:9.2.1-jdk AS builder
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
ADD build/libs/kontor-spring-0.2.0-SNAPSHOT.jar app.jar
|
COPY ./api/src/main/ ./api/src/main/
|
||||||
EXPOSE 8000
|
COPY ./api/build.gradle ./api/
|
||||||
CMD ["java", "-jar", "-Dspring.profiles.active=prod", "-Dvaadin.productionMode=true", "app.jar"]
|
COPY ./models/src/main/ ./models/src/main/
|
||||||
|
COPY ./models/build.gradle ./models/
|
||||||
|
COPY ./services/src/main/ ./services/src/main/
|
||||||
|
COPY ./services/build.gradle ./services/
|
||||||
|
COPY ./build.gradle ./
|
||||||
|
COPY ./gradle.properties ./
|
||||||
|
COPY ./settings.gradle ./
|
||||||
|
COPY ./gradle/libs.versions.toml ./gradle/
|
||||||
|
RUN gradle build --no-daemon
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------------- #
|
||||||
|
FROM alpine/java:21-jdk AS run
|
||||||
|
|
||||||
|
RUN adduser --system appuser
|
||||||
|
USER appuser
|
||||||
|
|
||||||
|
COPY --from=builder --chown=appuser:appuser /api/build/libs/api-0.2.0-SNAPSHOT.jar app.jar
|
||||||
|
|
||||||
|
EXPOSE 8400
|
||||||
|
USER appuser
|
||||||
|
|
||||||
|
CMD ["java", "-jar", "app.jar"]
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
package de.thpeetz.kontor.api;
|
package de.thpeetz.kontor.api;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
||||||
import io.javalin.Javalin;
|
|
||||||
import de.thpeetz.kontor.services.api.PersonReader;
|
import de.thpeetz.kontor.services.api.PersonReader;
|
||||||
|
import io.javalin.Javalin;
|
||||||
|
import java.util.ServiceLoader;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
|
||||||
import java.util.ServiceLoader;
|
|
||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
private static Logger logger = LoggerFactory.getLogger(Main.class);
|
private static Logger logger = LoggerFactory.getLogger(Main.class);
|
||||||
private static short port = 7312;
|
private static short port = 8400;
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
var personReader = ServiceLoader.load(PersonReader.class).findFirst().get(); // <-- Getting an implementation
|
var personReader = ServiceLoader.load(PersonReader.class).findFirst().get(); // <-- Getting an implementation
|
||||||
|
|||||||
@@ -1,5 +1,23 @@
|
|||||||
FROM alpine/java:21-jdk
|
# ----------------------------------------------------------------------- #
|
||||||
|
FROM gradle:8.7-jdk AS builder
|
||||||
WORKDIR /
|
WORKDIR /
|
||||||
ADD build/libs/kontor-spring-0.2.0-SNAPSHOT.jar app.jar
|
COPY ./src/main/ ./src/main/
|
||||||
EXPOSE 8000
|
COPY ./frontend/ ./frontend/
|
||||||
|
COPY ./build.gradle ./
|
||||||
|
COPY ./gradle.properties ./
|
||||||
|
COPY ./settings.gradle ./
|
||||||
|
COPY ./gradle/libs.versions.toml ./gradle/
|
||||||
|
RUN gradle bootJar --no-daemon
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------------- #
|
||||||
|
FROM alpine/java:21-jdk AS run
|
||||||
|
|
||||||
|
RUN adduser --system appuser
|
||||||
|
USER appuser
|
||||||
|
|
||||||
|
COPY --from=builder --chown=appuser:appuser /build/libs/kontor-spring-0.2.0-SNAPSHOT.jar app.jar
|
||||||
|
|
||||||
|
EXPOSE 8100
|
||||||
|
USER appuser
|
||||||
CMD ["java", "-jar", "-Dspring.profiles.active=prod", "-Dvaadin.productionMode=true", "app.jar"]
|
CMD ["java", "-jar", "-Dspring.profiles.active=prod", "-Dvaadin.productionMode=true", "app.jar"]
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<configuration>
|
<configuration>
|
||||||
|
|
||||||
<property name="LOGS" value="./logs" />
|
<property name="LOGS" value="./" />
|
||||||
|
|
||||||
<appender name="Console"
|
<appender name="Console"
|
||||||
class="ch.qos.logback.core.ConsoleAppender">
|
class="ch.qos.logback.core.ConsoleAppender">
|
||||||
|
|||||||
Reference in New Issue
Block a user