~cytrogen/vbhelper

vbhelper/server/Dockerfile -rw-r--r-- 1.1 KiB
fd45537b — Cytrogen Replace README.md with Chinese README.org a month ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Stage 1: Build
FROM gradle:8.11-jdk17 AS build
WORKDIR /project

# Copy Gradle config files
COPY gradle/libs.versions.toml gradle/libs.versions.toml
COPY server/build.gradle.kts server/build.gradle.kts

# Create server-only settings and root build files (skip Android module entirely)
RUN echo 'pluginManagement { repositories { mavenCentral(); gradlePluginPortal() } }\n\
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS); repositories { mavenCentral() } }\n\
rootProject.name = "VBHelper"\n\
include(":server")' > settings.gradle.kts

RUN echo 'plugins {\n\
    alias(libs.plugins.kotlin.jvm) apply false\n\
    alias(libs.plugins.kotlin.serialization) apply false\n\
    alias(libs.plugins.ktor) apply false\n\
}' > build.gradle.kts

# Copy server source
COPY server/src server/src

# Build fat JAR
RUN gradle :server:buildFatJar --no-daemon

# Stage 2: Runtime
FROM eclipse-temurin:17-jre-alpine
WORKDIR /app

COPY --from=build /project/server/build/libs/*-all.jar app.jar

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "app.jar"]