diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..4a963c4 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,30 @@ +version: '1' + +services: + app: + image: 'assignment_v2.0:latest' + build: + context: . + container_name: assignment-app + depends_on: + - db + environment: + - POSTGRES_USER=postgres + - POSTGRES_PASSWORD=postgres + - SPRING_DATASOURCE_URL=jdbc:postgresql://db:5432/postgres + - SPRING_DATASOURCE_USERNAME=postgres + - SPRING_DATASOURCE_PASSWORD=postgres + - SPRING_JPA_HIBERNATE_DDL_AUTO=update + + ports: + - "8080:8080" + + db: + image: postgres + container_name: db + environment: + - POSTGRES_USER=postgres + - POSTGRES_PASSWORD=postgres + - POSTGRES_DB=postgres + ports: + - "5435:5435" \ No newline at end of file diff --git a/dockerfile b/dockerfile new file mode 100644 index 0000000..a300e7d --- /dev/null +++ b/dockerfile @@ -0,0 +1,28 @@ + +############################# +# Builder +############################# +FROM openjdk:21-jdk as builder +WORKDIR /usr/src/app +ADD . . +COPY .mvn/ .mvn +COPY mvnw pom.xml ./ +RUN ./mvnw clean package -DskipTests + +############################# +# Server +############################# +FROM openjdk:21-jdk + +ENV APP_HOME /srv + + +COPY --from=builder /usr/src/app/target/assignment-*.jar $APP_HOME/assignment.jar + +WORKDIR $APP_HOME + +RUN useradd app +USER app + +CMD ["java", "-ea", "-jar", "/srv/assignment.jar"] +EXPOSE 8080/tcp