From 0c93b850247676a47f98dbdbe9c37fe046360d88 Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Mon, 1 Apr 2024 14:04:19 -0400 Subject: [PATCH] [F] Fix docker build Closes #24 --- Dockerfile | 8 ++++---- build.gradle.kts | 2 +- docker-compose.yml | 32 ++++++++++++++++++++------------ 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/Dockerfile b/Dockerfile index f666d118..4565cad7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # Use a multi-stage build to keep the image size small # Start with a Gradle image for building the project -FROM gradle:jdk11 as builder +FROM gradle:jdk21-alpine as builder # Copy the Gradle wrapper and configuration files separately to leverage Docker cache COPY --chown=gradle:gradle gradlew /home/gradle/ @@ -20,13 +20,13 @@ COPY --chown=gradle:gradle src /home/gradle/src RUN ./gradlew build -x test # Start with a fresh image for the runtime -FROM openjdk:11-jre-slim +FROM eclipse-temurin:21-jre-alpine # Set the deployment directory WORKDIR /app # Copy only the built JAR from the builder image -COPY --from=builder /home/gradle/build/libs/aqua-?.?.??.jar /app/ +COPY --from=builder /home/gradle/build/libs/AquaDX-*.jar /app/ # The command to run the application -CMD java -jar aqua-*.jar +CMD java -jar AquaDX-*.jar diff --git a/build.gradle.kts b/build.gradle.kts index e16c3d11..5ef5159a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -97,7 +97,7 @@ dependencies { group = "icu.samnya" version = "1.0.0" description = "AquaDX Arcade Server" -java.sourceCompatibility = JavaVersion.VERSION_17 +java.sourceCompatibility = JavaVersion.VERSION_21 springBoot { mainClass.set("icu.samnyan.aqua.EntryKt") diff --git a/docker-compose.yml b/docker-compose.yml index d7c15b6c..3bce8eba 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,23 +4,31 @@ services: app: build: . ports: - - "8080:8080" # Replace with your application's port + - "80:80" + - "8443:8443" + - "22345:22345" environment: - - DB_HOST=db - - DB_PORT=3306 - - DB_USER=root - - DB_PASSWORD=mysecret + - SPRING_DATASOURCE_URL=jdbc:mariadb://db:3306/main + - SPRING_DATASOURCE_USERNAME=cat + - SPRING_DATASOURCE_PASSWORD=meow + - SPRING_DATASOURCE_DRIVER_CLASS_NAME=org.mariadb.jdbc.Driver depends_on: - db + volumes: + - ./config:/app/config + - ./data:/app/data db: image: mariadb:latest environment: - MYSQL_ROOT_PASSWORD: mysecret - MYSQL_DATABASE: myappdb - MYSQL_USER: myappuser - MYSQL_PASSWORD: myapppassword + MYSQL_ROOT_PASSWORD: meow + MYSQL_DATABASE: main + MYSQL_USER: cat + MYSQL_PASSWORD: meow ports: - - "3306:3306" - volumes: - - ./db:/var/lib/mysql + - "127.0.0.1:3369:3306" + # There is an unfixed bug in Windows WSL2 that prevents volumes from working + # properly with mariadb. Please uncomment this on Linux / MacOS. + # Check https://stackoverflow.com/questions/76711550/i-get-an-error-on-mariadb-allways-i-start-my-app + # volumes: + # - ./data/db:/var/lib/mysql