maps/backend/Dockerfile
2026-04-03 21:59:56 +02:00

25 lines
No EOL
691 B
Docker

# Stage 1: Build
FROM rust:1.94-bookworm AS builder
WORKDIR /usr/src/app
# Cache dependency build: only re-runs when Cargo.toml/lock change
COPY Cargo.toml Cargo.lock* ./
RUN mkdir src && echo 'fn main() {}' > src/main.rs && cargo build --release && rm -rf src
# Now copy real source and build (dependencies already compiled)
COPY src/ src/
RUN touch src/main.rs && cargo build --release
# Stage 2: Runtime
FROM debian:bookworm-slim
RUN apt-get update && \
apt-get install -y --no-install-recommends ca-certificates curl && \
rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/app/target/release/maps-backend /usr/local/bin/maps-backend
EXPOSE 8080
CMD ["maps-backend"]