34 lines
935 B
Docker
34 lines
935 B
Docker
# 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"]
|