syntaxis/deploy/docker/Dockerfile
Jesús Pérez faf0d2c6b9
Some checks failed
Build - Verify Code & Build Binaries / Check Code Format (push) Has been cancelled
Build - Verify Code & Build Binaries / Lint with Clippy (push) Has been cancelled
Build - Verify Code & Build Binaries / Test Suite (push) Has been cancelled
Build - Verify Code & Build Binaries / Cargo Check (push) Has been cancelled
Build - Verify Code & Build Binaries / Security Audit (push) Has been cancelled
Build - Verify Code & Build Binaries / Build (Debug) - macos-latest (push) Has been cancelled
Build - Verify Code & Build Binaries / Build (Debug) - ubuntu-latest (push) Has been cancelled
Build - Verify Code & Build Binaries / Build (Debug) - windows-latest (push) Has been cancelled
Build - Verify Code & Build Binaries / Build (Release) - macos-latest (push) Has been cancelled
Build - Verify Code & Build Binaries / Build (Release) - ubuntu-latest (push) Has been cancelled
Build - Verify Code & Build Binaries / Build (Release) - windows-latest (push) Has been cancelled
Build - Verify Code & Build Binaries / All Checks Passed (push) Has been cancelled
CI/CD with Staging Preset / Validate Installation with Staging Preset (macos-latest) (push) Has been cancelled
CI/CD with Staging Preset / Validate Installation with Staging Preset (ubuntu-latest) (push) Has been cancelled
CI/CD with Staging Preset / Build and Test with Staging Preset (push) Has been cancelled
CI/CD with Staging Preset / Integration Test with Docker Compose (push) Has been cancelled
CI/CD with Staging Preset / Validate Documentation (push) Has been cancelled
CI/CD with Staging Preset / Test Summary (push) Has been cancelled
Provisioning Tests / Provisioning Tests (macos-latest) (push) Has been cancelled
Provisioning Tests / Provisioning Tests (ubuntu-20.04) (push) Has been cancelled
Provisioning Tests / Provisioning Tests (ubuntu-latest) (push) Has been cancelled
Provisioning Tests / Lint Provisioning Scripts (push) Has been cancelled
Provisioning Tests / Test Report (push) Has been cancelled
chore: reorganization following layout_conventions.md
2025-12-26 18:46:38 +00:00

66 lines
1.6 KiB
Docker

# Multi-stage Dockerfile for project-lifecycle-manager
# Builds all services: API, CLI, Dashboard, TUI
# Stage 1: Builder
FROM rust:1.91 as builder
WORKDIR /app
# Copy Cargo files
COPY Cargo.toml Cargo.lock ./
COPY crates ./crates
# Build release binaries
RUN cargo build --release -p lifecycle-api
RUN cargo build --release -p lifecycle-cli
RUN cargo build --release -p lifecycle-dashboard
# Stage 2: Runtime - API Server
FROM debian:bookworm-slim as api-runtime
RUN apt-get update && apt-get install -y \
ca-certificates \
curl \
libssl3 \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /app/target/release/lifecycle-server /usr/local/bin/
EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD curl -f http://localhost:3000/health || exit 1
ENTRYPOINT ["lifecycle-server"]
# Stage 3: Runtime - Dashboard Server
FROM debian:bookworm-slim as dashboard-runtime
RUN apt-get update && apt-get install -y \
ca-certificates \
curl \
libssl3 \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /app/target/release/lifecycle-dashboard /usr/local/bin/
EXPOSE 3001
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD curl -f http://localhost:3001/ || exit 1
ENTRYPOINT ["lifecycle-dashboard"]
# Stage 4: Runtime - CLI
FROM debian:bookworm-slim as cli-runtime
RUN apt-get update && apt-get install -y \
ca-certificates \
curl \
libssl3 \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /app/target/release/project-lifecycle /usr/local/bin/
ENTRYPOINT ["project-lifecycle"]