From 88410cb0420b88d353e81bc610b225f76da97b60 Mon Sep 17 00:00:00 2001 From: mattknatt Date: Thu, 23 Apr 2026 15:34:25 +0200 Subject: [PATCH] Add Dockerfile for containerization and update application properties for dynamic configuration --- Dockerfile | 12 ++++++++++++ src/main/resources/application.properties | 14 +++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..09ef6c5 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM eclipse-temurin:25-jre AS build +WORKDIR /app +COPY .mvn .mvn +COPY mvnw pom.xml ./ +RUN ./mvnw dependency:go-offline -q +COPY src ./src +RUN ./mvnw package -DskipTests -q + +FROM eclipse-temurin:25-jre +WORKDIR /app +COPY --from=build /app/target/*.jar app.jar +ENTRYPOINT ["java", "-jar", "app.jar"] diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index b7b0152..b763ccd 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -4,7 +4,7 @@ spring.datasource.url=jdbc:postgresql://localhost:5432/arende spring.datasource.username=arende spring.datasource.password=arende -spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.hibernate.ddl-auto=update spring.jpa.open-in-view=false spring.sql.init.mode=always spring.jpa.defer-datasource-initialization=true @@ -12,18 +12,18 @@ spring.datasource.driver-class-name=org.postgresql.Driver spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect # GitHub OAuth2 Login(hide credentials in production) -spring.security.oauth2.client.registration.github.client-id=Ov23liH2WD75Mu6yIMRq -spring.security.oauth2.client.registration.github.client-secret=63c07ed3f40021ed9a877c06ca09be0a6ef55883 +spring.security.oauth2.client.registration.github.client-id=${GITHUB_CLIENT_ID} +spring.security.oauth2.client.registration.github.client-secret=${GITHUB_CLIENT_SECRET} spring.security.oauth2.client.registration.github.scope=read:user,user:email logging.level.org.springframework.security=INFO -# AWS S3 Configuration -spring.cloud.aws.s3.endpoint=http://localhost:9000 +# Cloudflare R2 Configuration +spring.cloud.aws.s3.endpoint=${S3_ENDPOINT:http://localhost:9000} spring.cloud.aws.credentials.access-key=${S3_ACCESS_KEY} spring.cloud.aws.credentials.secret-key=${S3_SECRET_KEY} -spring.cloud.aws.region.static=us-east-1 +spring.cloud.aws.region.static=${S3_REGION:auto} spring.cloud.aws.s3.path-style-access-enabled=true -app.s3.bucket=documents +app.s3.bucket=${S3_BUCKET:documents} # Multipart configuration spring.servlet.multipart.max-file-size=10MB