Files
cloudflare-domain-manager/Dockerfile
T
Denozordec b1467575c5
Build, Test, and Push CFDM Docker Image / test (push) Failing after 3h13m2s
Build, Test, and Push CFDM Docker Image / create-release (push) Has been cancelled
Build, Test, and Push CFDM Docker Image / build-and-push (push) Has been cancelled
Build, Test, and Push CFDM Docker Image / update-wiki (push) Has been cancelled
Refactor project structure to use pnpm monorepo; update Dockerfile and related configurations for frontend build process. Adjust .dockerignore and .gitignore to reflect new paths. Modify .env.example for cron job timing. Update CONTRIBUTING.md and README.md for new development instructions.
2026-06-15 15:37:36 +07:00

37 lines
1.2 KiB
Docker

# syntax=docker/dockerfile:1
FROM node:22-bookworm-slim AS frontend-builder
WORKDIR /app
RUN corepack enable
COPY package.json pnpm-workspace.yaml pnpm-lock.yaml ./
COPY apps/web/package.json apps/web/
COPY packages/ui/package.json packages/ui/
RUN pnpm install --frozen-lockfile
COPY apps/web apps/web
COPY packages/ui packages/ui
RUN pnpm --filter web build
FROM rust:1.85-bookworm AS backend-builder
WORKDIR /app
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
COPY backend/Cargo.toml backend/Cargo.lock* ./backend/
COPY backend/migrations ./backend/migrations/
COPY backend/src ./backend/src/
COPY --from=frontend-builder /app/apps/web/dist ./static/
WORKDIR /app/backend
ENV STATIC_DIR=/app/static
RUN cargo build --release
FROM debian:bookworm-slim AS runtime
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=backend-builder /app/backend/target/release/cfdm-backend /app/cfdm-backend
COPY --from=frontend-builder /app/apps/web/dist /app/static
COPY VERSION /app/VERSION
ENV STATIC_DIR=/app/static
ENV DATABASE_URL=sqlite:/data/app.db
ENV SERVER_PORT=8080
EXPOSE 8080
VOLUME ["/data"]
CMD ["/app/cfdm-backend"]