Files
maps/Dockerfile
Dongho Kim 4b606e28da update
2025-12-17 16:42:23 +09:00

48 lines
1.4 KiB
Docker

# Build Frontend
FROM rust:latest AS frontend-builder
WORKDIR /app
COPY frontend ./frontend
COPY backend ./backend
# Install wasm-pack
# Install wasm-pack via cargo (fallback for network issues)
RUN cargo install wasm-pack
WORKDIR /app/frontend
# Build frontend
RUN wasm-pack build --target web --out-name wasm --out-dir ../backend/static
RUN cp index.html ../backend/static/index.html
RUN cp favicon.svg ../backend/static/favicon.svg
# 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"]