Files
maps/Dockerfile
2025-11-27 22:22:44 +01:00

45 lines
1.3 KiB
Docker

# Build Frontend
FROM rust:latest as frontend-builder
WORKDIR /app
COPY frontend ./frontend
COPY backend ./backend
# Install wasm-pack
RUN curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
WORKDIR /app/frontend
# Build frontend
RUN wasm-pack build --target web --out-name wasm --out-dir ../backend/static
# Build Backend
FROM rust:latest as backend-builder
WORKDIR /app
COPY backend ./backend
COPY --from=frontend-builder /app/backend/static ./backend/static
WORKDIR /app/backend
RUN cargo build --release
# Build Importer
FROM rust:latest as importer-builder
WORKDIR /app
COPY importer ./importer
WORKDIR /app/importer
RUN cargo build --release
# Backend Runtime
FROM debian:forky-slim as backend
WORKDIR /app
COPY --from=backend-builder /app/backend/target/release/backend ./backend
COPY --from=frontend-builder /app/backend/static ./static
# Install ca-certificates for HTTPS if needed
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
ENV SCYLLA_URI=scylla:9042
EXPOSE 3000
CMD ["./backend"]
# Importer Runtime
FROM debian:forky-slim as importer
WORKDIR /app
COPY --from=importer-builder /app/importer/target/release/importer ./importer
# Install ca-certificates for HTTPS if needed
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
CMD ["./importer"]