A focused Docker Compose management web application.
1FROM rust:alpine AS backend-builder
2
3COPY / /opt/app
4
5WORKDIR /opt/app
6
7RUN --mount=type=cache,target=/usr/local/cargo/registry \
8 --mount=type=cache,target=/opt/app/target \
9 cargo build --release && \
10 cp /opt/app/target/release/luminary /opt/app/luminary
11
12FROM node:22-alpine AS frontend-builder
13
14RUN npm -g install pnpm
15
16COPY / /opt/app
17
18WORKDIR /opt/app
19
20RUN pnpm install --frozen-lockfile
21
22RUN pnpm build
23
24FROM alpine:latest
25
26RUN apk add docker-cli-compose
27
28COPY --from=backend-builder /opt/app/luminary /opt/app/luminary
29COPY --from=frontend-builder /opt/app/packages/panel/build /opt/app/static
30
31WORKDIR /opt/app
32
33ENTRYPOINT ["/opt/app/luminary"]