Files
SentinelMesh/backend/Dockerfile
T
gilles 27c62fa54c fix(docker): Dockerfile workspace-aware + db.rs create_if_missing
- Contexte de build depuis la racine du workspace Cargo
- Rust 1.86 pour edition 2024
- Layer cache avec stubs membres du workspace
- Création répertoire /data dans l'image
- SQLite create_if_missing(true) pour créer la DB au premier démarrage

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 07:02:54 +02:00

27 lines
1.1 KiB
Docker

FROM rust:1.86-alpine AS builder
RUN apk add --no-cache musl-dev
WORKDIR /app
# Workspace
COPY Cargo.toml Cargo.lock ./
COPY backend/Cargo.toml ./backend/Cargo.toml
COPY agents/agent-scan-network/Cargo.toml ./agents/agent-scan-network/Cargo.toml
COPY agents/agent-metric/Cargo.toml ./agents/agent-metric/Cargo.toml
# Stubs pour cacher les dépendances
RUN mkdir -p backend/src agents/agent-scan-network/src agents/agent-metric/src \
&& echo 'fn main(){}' > backend/src/main.rs \
&& echo 'fn main(){}' > agents/agent-scan-network/src/main.rs \
&& echo 'fn main(){}' > agents/agent-metric/src/main.rs \
&& cargo build --release -p sentinelmesh-backend
# Sources réelles (les stubs agents restent en place)
COPY backend/src ./backend/src
COPY backend/migrations ./backend/migrations
RUN touch backend/src/main.rs && cargo build --release -p sentinelmesh-backend
FROM alpine:3.21
RUN apk add --no-cache ca-certificates && mkdir -p /data
WORKDIR /app
COPY --from=builder /app/target/release/sentinelmesh-backend .
COPY --from=builder /app/backend/migrations ./migrations
EXPOSE 8080
CMD ["./sentinelmesh-backend"]