# syntax=docker/dockerfile:1.7 FROM node:22-bookworm-slim AS frontend-build WORKDIR /src/frontend COPY frontend/package*.json ./ RUN npm ci COPY frontend/ ./ RUN npm run build FROM rust:1.88-bookworm AS backend-build WORKDIR /src COPY Cargo.toml Cargo.lock ./ COPY backend ./backend RUN cargo build --release -p lightscale-admin-server FROM debian:bookworm-slim AS runtime RUN apt-get update \ && apt-get install -y --no-install-recommends ca-certificates \ && rm -rf /var/lib/apt/lists/* RUN useradd --system --create-home --uid 10001 lightscale WORKDIR /app COPY --from=backend-build /src/target/release/lightscale-admin-server /usr/local/bin/lightscale-admin-server COPY --from=frontend-build /src/frontend/dist /app/frontend/dist USER lightscale EXPOSE 8081 ENV RUST_LOG=info ENV LS_ADMIN__SERVER__BIND=0.0.0.0:8081 ENV LS_ADMIN__SERVER__STATIC_DIR=/app/frontend/dist CMD ["/usr/local/bin/lightscale-admin-server"]