Files
warren/Dockerfile

32 lines
808 B
Docker

FROM oven/bun:debian AS frontend-dependency-installer
WORKDIR /usr/src/warren
COPY frontend/package.json frontend/bun.lock ./
RUN bun install --frozen-lockfile --ignore-scripts
FROM node:bookworm AS frontend-builder
WORKDIR /usr/src/warren
COPY --from=frontend-dependency-installer /usr/src/warren/ .
COPY frontend/ ./
RUN npm run generate
FROM rust:bookworm AS backend-builder
WORKDIR /usr/src/warren
COPY backend/Cargo.toml backend/Cargo.lock ./
RUN mkdir src && echo "fn main() {}" > src/main.rs && cargo build --release
COPY backend/ .
RUN touch src/main.rs && cargo build --release
FROM debian:bookworm
WORKDIR /var/lib/warren
COPY --from=backend-builder /usr/src/warren/target/release/warren /usr/bin/warren
COPY --from=frontend-builder /usr/src/warren/dist ./frontend
ENTRYPOINT ["warren"]