From 0fc87ed4722eaad78e6a85485b7bcc5f0480ae29 Mon Sep 17 00:00:00 2001 From: Gato Date: Sun, 24 May 2026 10:07:47 +0200 Subject: [PATCH] conf env de dev --- Dockerfile.dev | 10 +++++++ docker-compose.dev.yml | 43 ++++++++++++++++++++++++++++++ gradlew | 0 src/main/resources/application.yml | 4 +-- 4 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 Dockerfile.dev create mode 100644 docker-compose.dev.yml mode change 100644 => 100755 gradlew diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 0000000..64e8384 --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,10 @@ +FROM eclipse-temurin:25-jdk-alpine +WORKDIR /app + +# Pre-download dependencies (cached layer — rebuilt only if build.gradle changes) +COPY gradlew settings.gradle build.gradle ./ +COPY gradle ./gradle +RUN chmod +x gradlew && ./gradlew dependencies --no-daemon -q + +# Sources are mounted at runtime via docker-compose volume +ENTRYPOINT ["sh", "gradlew", "bootRun", "--no-daemon"] diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000..71a7e48 --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,43 @@ +services: + db: + image: postgres:16-alpine + environment: + POSTGRES_DB: bonsai + POSTGRES_USER: bonsai + POSTGRES_PASSWORD: bonsai + ports: + - "5432:5432" + volumes: + - postgres_data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U bonsai"] + interval: 5s + timeout: 5s + retries: 5 + + api: + build: + context: . + dockerfile: Dockerfile.dev + ports: + - "8080:8080" + volumes: + - ./src:/app/src:z # sources live depuis le host (SELinux :z) + - ./build.gradle:/app/build.gradle:z + - ./settings.gradle:/app/settings.gradle:z + - gradle_home:/root/.gradle # cache Gradle persistant (initialisé depuis l'image) + - gradle_build:/app/build # artefacts de build + environment: + DATASOURCE_URL: jdbc:postgresql://db:5432/bonsai + DATASOURCE_USERNAME: bonsai + DATASOURCE_PASSWORD: bonsai + KEYCLOAK_JWKS_URI: https://auth.goutailler-olivier.com/realms/bonsai/protocol/openid-connect/certs + CORS_ALLOWED_ORIGIN_PROD: https://bonsai.goutailler-olivier.com + depends_on: + db: + condition: service_healthy + +volumes: + postgres_data: + gradle_home: + gradle_build: diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 6c9af10..cf85e1c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -20,6 +20,4 @@ spring: app: cors: - allowed-origins: - - http://localhost:4200 - - ${CORS_ALLOWED_ORIGIN_PROD:https://bonsai.goutailler-olivier.com} + allowed-origins: "http://localhost:4200,${CORS_ALLOWED_ORIGIN_PROD:https://bonsai.goutailler-olivier.com}"