mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-13 08:52:16 +00:00
29 lines
1019 B
Docker
29 lines
1019 B
Docker
FROM node:23-slim AS frontend-builder
|
|
RUN corepack enable
|
|
WORKDIR /frontend
|
|
COPY crates/frontend/frontend/package.json /frontend/package.json
|
|
RUN pnpm install
|
|
COPY crates/frontend/frontend /frontend
|
|
RUN pnpm build
|
|
# Templates will be in /frontend/dist/templates
|
|
# Assets will be in /frontend/dist/assets
|
|
|
|
|
|
FROM rust:1.82-alpine AS builder
|
|
# We need to statically link C dependencies like sqlite, otherwise we get
|
|
# exec /usr/local/bin/rustical: no such file or directory
|
|
# x86_64-unknown-linux-musl does static linking by default
|
|
RUN apk add --no-progress build-base; \
|
|
rustup target add x86_64-unknown-linux-musl
|
|
WORKDIR /rustical
|
|
COPY . .
|
|
COPY --from=frontend-builder /frontend/dist crates/frontend/frontend/dist
|
|
RUN --mount=type=cache,target=target cargo install --target x86_64-unknown-linux-musl --path .
|
|
|
|
FROM scratch
|
|
COPY --from=builder /usr/local/cargo/bin/rustical /usr/local/bin/rustical
|
|
CMD ["/usr/local/bin/rustical"]
|
|
|
|
LABEL org.opencontainers.image.authors="Lennart K github.com/lennart-k"
|
|
EXPOSE 4000
|