Files
Holzleitner-Lieferservice-B…/Dockerfile
2025-09-30 21:55:53 +02:00

43 lines
842 B
Docker

# Build stage
FROM rust:1.90.0-slim-trixie as builder
# Create app directory
WORKDIR /app
# Copy manifests
COPY Cargo.toml Cargo.lock ./
# Copy source code
COPY src ./src
# Build for release
RUN cargo build --release
# Runtime stage
FROM debian:bookworm-slim
# Install runtime dependencies (if needed, e.g., for SSL)
RUN apt-get update && \
apt-get install -y --no-install-recommends ca-certificates && \
rm -rf /var/lib/apt/lists/*
# Create non-root user
RUN useradd -m -u 1000 appuser
# Set working directory
WORKDIR /app
# Copy only the binary from builder
COPY --from=builder /app/target/release/delivery-backend /app/service
# Change ownership to non-root user
RUN chown -R appuser:appuser /app
# Switch to non-root user
USER appuser
# Expose port (adjust as needed)
EXPOSE 8080
# Run the binary
CMD ["/app/service"]