Spaces:
Sleeping
Sleeping
Download app/templates/docker/dockerfile_java.j2 from shakauthossain/deploymate: direct link, hf CLI and curl.
- Browser
- Download file 1.71 kB
-
https://huggingface.co/spaces/shakauthossain/deploymate/resolve/main/app/templates/docker/dockerfile_java.j2
- Command line
-
hf download hf://spaces/shakauthossain/deploymate/app/templates/docker/dockerfile_java.j2
-
curl -L -o dockerfile_java.j2 https://huggingface.co/spaces/shakauthossain/deploymate/resolve/main/app/templates/docker/dockerfile_java.j2
1.71 kB
| {% if config.multiStage %} | |
| # Multi-stage build for Java | |
| FROM maven:{{ config.javaVersion or '17' }}-alpine AS builder | |
| WORKDIR /app | |
| # Copy pom.xml | |
| COPY pom.xml . | |
| # Download dependencies | |
| RUN mvn dependency:go-offline | |
| # Copy source code | |
| COPY src ./src | |
| # Build application | |
| RUN mvn clean package -DskipTests | |
| # Production stage - JRE only for smaller image | |
| FROM openjdk:{{ config.javaVersion or '17' }}-jre-alpine | |
| WORKDIR /app | |
| # Install dumb-init for proper signal handling | |
| RUN apk add --no-cache dumb-init | |
| # Copy JAR from builder | |
| COPY --from=builder /app/target/*.jar app.jar | |
| # Create non-root user | |
| RUN addgroup -g 1001 -S java && \ | |
| adduser -S java -u 1001 && \ | |
| chown -R java:java /app | |
| USER java | |
| # Expose port | |
| EXPOSE {{ config.port or '8080' }} | |
| # Production mode | |
| ENV SPRING_PROFILES_ACTIVE=prod | |
| # Start application | |
| CMD ["java", "-jar", "app.jar"] | |
| {% else %} | |
| # Java {{ config.javaVersion or '17' }} Dockerfile | |
| FROM openjdk:{{ config.javaVersion or '17' }}-jdk-alpine | |
| WORKDIR /app | |
| # Install Maven | |
| RUN apk add --no-cache maven | |
| # Copy pom.xml | |
| COPY pom.xml . | |
| # Download dependencies | |
| RUN mvn dependency:go-offline | |
| # Copy source code | |
| COPY src ./src | |
| {% if not config.developmentMode %} | |
| # Build application | |
| RUN mvn clean package -DskipTests | |
| {% endif %} | |
| # Create non-root user | |
| RUN addgroup -g 1001 -S java && \ | |
| adduser -S java -u 1001 && \ | |
| chown -R java:java /app | |
| USER java | |
| # Expose port | |
| EXPOSE {{ config.port or '8080' }} | |
| {% if config.developmentMode %} | |
| # Development mode | |
| ENV SPRING_PROFILES_ACTIVE=dev | |
| CMD ["mvn", "spring-boot:run"] | |
| {% else %} | |
| # Production mode | |
| ENV SPRING_PROFILES_ACTIVE=prod | |
| # Start application | |
| CMD ["java", "-jar", "target/*.jar"] | |
| {% endif %} | |
| {% endif %} | |