Download Dockerfile from blackopsrepl/flight-crew-scheduling-java: direct link, hf CLI and curl.
- Browser
- Download file 868 Bytes
-
https://huggingface.co/spaces/blackopsrepl/flight-crew-scheduling-java/resolve/main/Dockerfile
- Command line
-
hf download hf://spaces/blackopsrepl/flight-crew-scheduling-java/Dockerfile
-
curl -L -o Dockerfile https://huggingface.co/spaces/blackopsrepl/flight-crew-scheduling-java/resolve/main/Dockerfile
868 Bytes
| # Build stage | |
| FROM eclipse-temurin:21-jdk-alpine AS build | |
| # Install Maven | |
| RUN apk add --no-cache maven | |
| # Set working directory | |
| WORKDIR /app | |
| # Copy source files | |
| COPY pom.xml . | |
| COPY src ./src | |
| # Build the application | |
| RUN mvn package -DskipTests -Dquarkus.package.jar.type=uber-jar | |
| # Runtime stage | |
| FROM eclipse-temurin:21-jre-alpine | |
| # Create non-root user for HuggingFace Spaces | |
| RUN addgroup -g 1000 appgroup && \ | |
| adduser -u 1000 -G appgroup -h /app -D appuser | |
| WORKDIR /app | |
| # Copy the built jar from build stage | |
| COPY --from=build /app/target/*-runner.jar /app/app.jar | |
| # Change ownership to non-root user | |
| RUN chown -R appuser:appgroup /app | |
| # Switch to non-root user | |
| USER appuser | |
| # HuggingFace Spaces requires port 7860 | |
| EXPOSE 7860 | |
| # Run the application on port 7860 | |
| CMD ["java", "-Dquarkus.http.host=0.0.0.0", "-Dquarkus.http.port=7860", "-jar", "app.jar"] | |