diff --git a/Dockerfile b/Dockerfile index e72b909..c287598 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,17 @@ +FROM maven:3.9-eclipse-temurin-21-alpine AS build + +WORKDIR /workspace + +COPY pom.xml . +COPY src/main ./src/main + +RUN mvn -DskipTests package + FROM eclipse-temurin:21-jre-alpine WORKDIR /app -COPY target/notesvault-0.0.1-SNAPSHOT.jar app.jar +COPY --from=build /workspace/target/notesvault-0.0.1-SNAPSHOT.jar app.jar RUN addgroup -S appgroup && adduser -S appuser -G appgroup USER appuser diff --git a/Makefile b/Makefile index b08699e..62cbf6f 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,6 @@ -.PHONY: run dev test docker-build docker-up docker-down +.PHONY: run dev test docker-build docker-run docker-up docker-down + +JWT_SECRET ?= dev-secret-change-me run: JWT_SECRET=dev-secret-change-me mvn spring-boot:run @@ -12,6 +14,9 @@ test: docker-build: docker build -t notesvault:latest . +docker-run: + docker run --rm --name notesvault-api -p 8080:8080 -e JWT_SECRET="$(JWT_SECRET)" notesvault:latest + docker-up: docker compose up -d