chore: refactored dockerfiles across repo to use cargo chef e1331c96
Steve · 2026-04-19 08:03 8 file(s) · +72 −276
apps/cellar/Dockerfile +9 −35
1 -
FROM rust:1-slim-bookworm AS builder
2 -
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
1 +
FROM lukemathwalker/cargo-chef:latest-rust-1-slim-bookworm AS chef
3 2
WORKDIR /app
4 3
5 -
# Copy workspace manifests
6 -
COPY Cargo.toml Cargo.lock .
7 -
COPY crates/auth/Cargo.toml crates/auth/
8 -
COPY crates/db/Cargo.toml crates/db/
9 -
COPY crates/darkmatter-css/Cargo.toml crates/darkmatter-css/
10 -
COPY apps/sipp/Cargo.toml apps/sipp/
11 -
COPY apps/feeds/Cargo.toml apps/feeds/
12 -
COPY apps/parcels/Cargo.toml apps/parcels/
13 -
COPY apps/jotts/Cargo.toml apps/jotts/
14 -
COPY apps/og/Cargo.toml apps/og/
15 -
COPY apps/shrink/Cargo.toml apps/shrink/
16 -
COPY apps/cellar/Cargo.toml apps/cellar/
17 -
COPY apps/posts/Cargo.toml apps/posts/
18 -
19 -
# Create stubs for dependency caching
20 -
RUN mkdir -p crates/auth/src && echo '' > crates/auth/src/lib.rs \
21 -
    && mkdir -p crates/db/src && echo '' > crates/db/src/lib.rs \
22 -
    && mkdir -p crates/darkmatter-css/src && echo '' > crates/darkmatter-css/src/lib.rs \
23 -
    && mkdir -p crates/darkmatter-css/assets \
24 -
    && for app in sipp feeds parcels jotts og shrink cellar posts; do \
25 -
         mkdir -p apps/$app/src && echo 'fn main() {}' > apps/$app/src/main.rs; \
26 -
       done
4 +
FROM chef AS planner
5 +
COPY . .
6 +
RUN cargo chef prepare --recipe-path recipe.json
27 7
8 +
FROM chef AS builder
9 +
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
10 +
COPY --from=planner /app/recipe.json recipe.json
11 +
RUN cargo chef cook --release --recipe-path recipe.json -p cellar
12 +
COPY . .
28 13
RUN cargo build --release -p cellar
29 -
30 -
# Copy real source
31 -
COPY crates/auth/src crates/auth/src
32 -
COPY crates/db/src crates/db/src
33 -
COPY crates/darkmatter-css/src crates/darkmatter-css/src
34 -
COPY crates/darkmatter-css/assets crates/darkmatter-css/assets
35 -
COPY apps/cellar/src apps/cellar/src
36 -
COPY apps/cellar/static apps/cellar/static
37 -
COPY apps/cellar/templates apps/cellar/templates
38 -
39 -
RUN touch apps/cellar/src/*.rs crates/auth/src/*.rs crates/db/src/*.rs crates/darkmatter-css/src/*.rs && cargo build --release -p cellar
40 14
41 15
FROM debian:bookworm-slim
42 16
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
apps/feeds/Dockerfile +9 −35
1 1
# Build from repo root: docker build -t feeds -f apps/feeds/Dockerfile .
2 -
FROM rust:1-slim-bookworm AS builder
3 -
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
2 +
FROM lukemathwalker/cargo-chef:latest-rust-1-slim-bookworm AS chef
4 3
WORKDIR /app
5 4
6 -
# Copy workspace manifests
7 -
COPY Cargo.toml Cargo.lock .
8 -
COPY crates/auth/Cargo.toml crates/auth/
9 -
COPY crates/db/Cargo.toml crates/db/
10 -
COPY crates/darkmatter-css/Cargo.toml crates/darkmatter-css/
11 -
COPY apps/sipp/Cargo.toml apps/sipp/
12 -
COPY apps/feeds/Cargo.toml apps/feeds/
13 -
COPY apps/parcels/Cargo.toml apps/parcels/
14 -
COPY apps/jotts/Cargo.toml apps/jotts/
15 -
COPY apps/og/Cargo.toml apps/og/
16 -
COPY apps/shrink/Cargo.toml apps/shrink/
17 -
COPY apps/cellar/Cargo.toml apps/cellar/
18 -
COPY apps/posts/Cargo.toml apps/posts/
19 -
20 -
# Create stubs for dependency caching
21 -
RUN mkdir -p crates/auth/src && echo '' > crates/auth/src/lib.rs \
22 -
    && mkdir -p crates/db/src && echo '' > crates/db/src/lib.rs \
23 -
    && mkdir -p crates/darkmatter-css/src && echo '' > crates/darkmatter-css/src/lib.rs \
24 -
    && mkdir -p crates/darkmatter-css/assets \
25 -
    && for app in sipp feeds parcels jotts og shrink cellar posts; do \
26 -
         mkdir -p apps/$app/src && echo 'fn main() {}' > apps/$app/src/main.rs; \
27 -
       done
5 +
FROM chef AS planner
6 +
COPY . .
7 +
RUN cargo chef prepare --recipe-path recipe.json
28 8
9 +
FROM chef AS builder
10 +
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
11 +
COPY --from=planner /app/recipe.json recipe.json
12 +
RUN cargo chef cook --release --recipe-path recipe.json -p feeds
13 +
COPY . .
29 14
RUN cargo build --release -p feeds
30 -
31 -
# Copy real source
32 -
COPY crates/auth/src crates/auth/src
33 -
COPY crates/db/src crates/db/src
34 -
COPY crates/darkmatter-css/src crates/darkmatter-css/src
35 -
COPY crates/darkmatter-css/assets crates/darkmatter-css/assets
36 -
COPY apps/feeds/src apps/feeds/src
37 -
COPY apps/feeds/static apps/feeds/static
38 -
COPY apps/feeds/askama.toml apps/feeds/askama.toml
39 -
40 -
RUN touch apps/feeds/src/*.rs crates/auth/src/*.rs crates/db/src/*.rs crates/darkmatter-css/src/*.rs && cargo build --release -p feeds
41 15
42 16
FROM debian:bookworm-slim
43 17
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
apps/jotts/Dockerfile +9 −35
1 1
# Build from repo root: docker build -t jotts -f apps/jotts/Dockerfile .
2 -
FROM rust:1-slim-bookworm AS builder
3 -
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
2 +
FROM lukemathwalker/cargo-chef:latest-rust-1-slim-bookworm AS chef
4 3
WORKDIR /app
5 4
6 -
# Copy workspace manifests
7 -
COPY Cargo.toml Cargo.lock .
8 -
COPY crates/auth/Cargo.toml crates/auth/
9 -
COPY crates/db/Cargo.toml crates/db/
10 -
COPY crates/darkmatter-css/Cargo.toml crates/darkmatter-css/
11 -
COPY apps/sipp/Cargo.toml apps/sipp/
12 -
COPY apps/feeds/Cargo.toml apps/feeds/
13 -
COPY apps/parcels/Cargo.toml apps/parcels/
14 -
COPY apps/jotts/Cargo.toml apps/jotts/
15 -
COPY apps/og/Cargo.toml apps/og/
16 -
COPY apps/shrink/Cargo.toml apps/shrink/
17 -
COPY apps/cellar/Cargo.toml apps/cellar/
18 -
COPY apps/posts/Cargo.toml apps/posts/
19 -
20 -
# Create stubs for dependency caching
21 -
RUN mkdir -p crates/auth/src && echo '' > crates/auth/src/lib.rs \
22 -
    && mkdir -p crates/db/src && echo '' > crates/db/src/lib.rs \
23 -
    && mkdir -p crates/darkmatter-css/src && echo '' > crates/darkmatter-css/src/lib.rs \
24 -
    && mkdir -p crates/darkmatter-css/assets \
25 -
    && for app in sipp feeds parcels jotts og shrink cellar posts; do \
26 -
         mkdir -p apps/$app/src && echo 'fn main() {}' > apps/$app/src/main.rs; \
27 -
       done
5 +
FROM chef AS planner
6 +
COPY . .
7 +
RUN cargo chef prepare --recipe-path recipe.json
28 8
9 +
FROM chef AS builder
10 +
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
11 +
COPY --from=planner /app/recipe.json recipe.json
12 +
RUN cargo chef cook --release --recipe-path recipe.json -p jotts
13 +
COPY . .
29 14
RUN cargo build --release -p jotts
30 -
31 -
# Copy real source
32 -
COPY crates/auth/src crates/auth/src
33 -
COPY crates/db/src crates/db/src
34 -
COPY crates/darkmatter-css/src crates/darkmatter-css/src
35 -
COPY crates/darkmatter-css/assets crates/darkmatter-css/assets
36 -
COPY apps/jotts/src apps/jotts/src
37 -
COPY apps/jotts/static apps/jotts/static
38 -
COPY apps/jotts/templates apps/jotts/templates
39 -
40 -
RUN touch apps/jotts/src/*.rs crates/auth/src/*.rs crates/db/src/*.rs crates/darkmatter-css/src/*.rs && cargo build --release -p jotts
41 15
42 16
FROM debian:bookworm-slim
43 17
COPY --from=builder /app/target/release/jotts /usr/local/bin/jotts
apps/og/Dockerfile +9 −33
1 1
# Build from repo root: docker build -t og -f apps/og/Dockerfile .
2 -
FROM rust:1-slim-bookworm AS builder
3 -
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
2 +
FROM lukemathwalker/cargo-chef:latest-rust-1-slim-bookworm AS chef
4 3
WORKDIR /app
5 4
6 -
# Copy workspace manifests
7 -
COPY Cargo.toml Cargo.lock .
8 -
COPY crates/auth/Cargo.toml crates/auth/
9 -
COPY crates/db/Cargo.toml crates/db/
10 -
COPY crates/darkmatter-css/Cargo.toml crates/darkmatter-css/
11 -
COPY apps/sipp/Cargo.toml apps/sipp/
12 -
COPY apps/feeds/Cargo.toml apps/feeds/
13 -
COPY apps/parcels/Cargo.toml apps/parcels/
14 -
COPY apps/jotts/Cargo.toml apps/jotts/
15 -
COPY apps/og/Cargo.toml apps/og/
16 -
COPY apps/shrink/Cargo.toml apps/shrink/
17 -
COPY apps/cellar/Cargo.toml apps/cellar/
18 -
COPY apps/posts/Cargo.toml apps/posts/
19 -
20 -
# Create stubs for dependency caching
21 -
RUN mkdir -p crates/auth/src && echo '' > crates/auth/src/lib.rs \
22 -
    && mkdir -p crates/db/src && echo '' > crates/db/src/lib.rs \
23 -
    && mkdir -p crates/darkmatter-css/src && echo '' > crates/darkmatter-css/src/lib.rs \
24 -
    && mkdir -p crates/darkmatter-css/assets \
25 -
    && for app in sipp feeds parcels jotts og shrink cellar posts; do \
26 -
         mkdir -p apps/$app/src && echo 'fn main() {}' > apps/$app/src/main.rs; \
27 -
       done
5 +
FROM chef AS planner
6 +
COPY . .
7 +
RUN cargo chef prepare --recipe-path recipe.json
28 8
9 +
FROM chef AS builder
10 +
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
11 +
COPY --from=planner /app/recipe.json recipe.json
12 +
RUN cargo chef cook --release --recipe-path recipe.json -p og
13 +
COPY . .
29 14
RUN cargo build --release -p og
30 -
31 -
# Copy real source
32 -
COPY crates/darkmatter-css/src crates/darkmatter-css/src
33 -
COPY crates/darkmatter-css/assets crates/darkmatter-css/assets
34 -
COPY apps/og/src apps/og/src
35 -
COPY apps/og/templates apps/og/templates
36 -
COPY apps/og/static apps/og/static
37 -
38 -
RUN touch apps/og/src/*.rs crates/darkmatter-css/src/*.rs && cargo build --release -p og
39 15
40 16
FROM debian:bookworm-slim
41 17
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
apps/parcels/Dockerfile +9 −35
1 1
# Build from repo root: docker build -t parcels -f apps/parcels/Dockerfile .
2 -
FROM rust:1-slim-bookworm AS builder
3 -
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
2 +
FROM lukemathwalker/cargo-chef:latest-rust-1-slim-bookworm AS chef
4 3
WORKDIR /app
5 4
6 -
# Copy workspace manifests
7 -
COPY Cargo.toml Cargo.lock .
8 -
COPY crates/auth/Cargo.toml crates/auth/
9 -
COPY crates/db/Cargo.toml crates/db/
10 -
COPY crates/darkmatter-css/Cargo.toml crates/darkmatter-css/
11 -
COPY apps/sipp/Cargo.toml apps/sipp/
12 -
COPY apps/feeds/Cargo.toml apps/feeds/
13 -
COPY apps/parcels/Cargo.toml apps/parcels/
14 -
COPY apps/jotts/Cargo.toml apps/jotts/
15 -
COPY apps/og/Cargo.toml apps/og/
16 -
COPY apps/shrink/Cargo.toml apps/shrink/
17 -
COPY apps/cellar/Cargo.toml apps/cellar/
18 -
COPY apps/posts/Cargo.toml apps/posts/
19 -
20 -
# Create stubs for dependency caching
21 -
RUN mkdir -p crates/auth/src && echo '' > crates/auth/src/lib.rs \
22 -
    && mkdir -p crates/db/src && echo '' > crates/db/src/lib.rs \
23 -
    && mkdir -p crates/darkmatter-css/src && echo '' > crates/darkmatter-css/src/lib.rs \
24 -
    && mkdir -p crates/darkmatter-css/assets \
25 -
    && for app in sipp feeds parcels jotts og shrink cellar posts; do \
26 -
         mkdir -p apps/$app/src && echo 'fn main() {}' > apps/$app/src/main.rs; \
27 -
       done
5 +
FROM chef AS planner
6 +
COPY . .
7 +
RUN cargo chef prepare --recipe-path recipe.json
28 8
9 +
FROM chef AS builder
10 +
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
11 +
COPY --from=planner /app/recipe.json recipe.json
12 +
RUN cargo chef cook --release --recipe-path recipe.json -p parcels
13 +
COPY . .
29 14
RUN cargo build --release -p parcels
30 -
31 -
# Copy real source
32 -
COPY crates/auth/src crates/auth/src
33 -
COPY crates/db/src crates/db/src
34 -
COPY crates/darkmatter-css/src crates/darkmatter-css/src
35 -
COPY crates/darkmatter-css/assets crates/darkmatter-css/assets
36 -
COPY apps/parcels/src apps/parcels/src
37 -
COPY apps/parcels/templates apps/parcels/templates
38 -
COPY apps/parcels/static apps/parcels/static
39 -
40 -
RUN touch apps/parcels/src/*.rs crates/auth/src/*.rs crates/db/src/*.rs crates/darkmatter-css/src/*.rs && cargo build --release -p parcels
41 15
42 16
FROM debian:bookworm-slim
43 17
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
apps/posts/Dockerfile +9 −35
1 1
# Build from repo root: docker build -t posts -f apps/posts/Dockerfile .
2 -
FROM rust:1-slim-bookworm AS builder
3 -
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
2 +
FROM lukemathwalker/cargo-chef:latest-rust-1-slim-bookworm AS chef
4 3
WORKDIR /app
5 4
6 -
# Copy workspace manifests
7 -
COPY Cargo.toml Cargo.lock .
8 -
COPY crates/auth/Cargo.toml crates/auth/
9 -
COPY crates/db/Cargo.toml crates/db/
10 -
COPY crates/darkmatter-css/Cargo.toml crates/darkmatter-css/
11 -
COPY apps/sipp/Cargo.toml apps/sipp/
12 -
COPY apps/feeds/Cargo.toml apps/feeds/
13 -
COPY apps/parcels/Cargo.toml apps/parcels/
14 -
COPY apps/jotts/Cargo.toml apps/jotts/
15 -
COPY apps/og/Cargo.toml apps/og/
16 -
COPY apps/shrink/Cargo.toml apps/shrink/
17 -
COPY apps/cellar/Cargo.toml apps/cellar/
18 -
COPY apps/posts/Cargo.toml apps/posts/
19 -
20 -
# Create stubs for dependency caching
21 -
RUN mkdir -p crates/auth/src && echo '' > crates/auth/src/lib.rs \
22 -
    && mkdir -p crates/db/src && echo '' > crates/db/src/lib.rs \
23 -
    && mkdir -p crates/darkmatter-css/src && echo '' > crates/darkmatter-css/src/lib.rs \
24 -
    && mkdir -p crates/darkmatter-css/assets \
25 -
    && for app in sipp feeds parcels jotts og shrink cellar posts; do \
26 -
         mkdir -p apps/$app/src && echo 'fn main() {}' > apps/$app/src/main.rs; \
27 -
       done
5 +
FROM chef AS planner
6 +
COPY . .
7 +
RUN cargo chef prepare --recipe-path recipe.json
28 8
9 +
FROM chef AS builder
10 +
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
11 +
COPY --from=planner /app/recipe.json recipe.json
12 +
RUN cargo chef cook --release --recipe-path recipe.json -p posts
13 +
COPY . .
29 14
RUN cargo build --release -p posts
30 -
31 -
# Copy real source
32 -
COPY crates/auth/src crates/auth/src
33 -
COPY crates/db/src crates/db/src
34 -
COPY crates/darkmatter-css/src crates/darkmatter-css/src
35 -
COPY crates/darkmatter-css/assets crates/darkmatter-css/assets
36 -
COPY apps/posts/src apps/posts/src
37 -
COPY apps/posts/static apps/posts/static
38 -
COPY apps/posts/templates apps/posts/templates
39 -
40 -
RUN touch apps/posts/src/*.rs crates/auth/src/*.rs crates/db/src/*.rs crates/darkmatter-css/src/*.rs && cargo build --release -p posts
41 15
42 16
FROM debian:bookworm-slim
43 17
COPY --from=builder /app/target/release/posts /usr/local/bin/posts
apps/shrink/Dockerfile +9 −33
1 1
# Build from repo root: docker build -t shrink -f apps/shrink/Dockerfile .
2 -
FROM rust:1-slim-bookworm AS builder
3 -
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
2 +
FROM lukemathwalker/cargo-chef:latest-rust-1-slim-bookworm AS chef
4 3
WORKDIR /app
5 4
6 -
# Copy workspace manifests
7 -
COPY Cargo.toml Cargo.lock .
8 -
COPY crates/auth/Cargo.toml crates/auth/
9 -
COPY crates/db/Cargo.toml crates/db/
10 -
COPY crates/darkmatter-css/Cargo.toml crates/darkmatter-css/
11 -
COPY apps/sipp/Cargo.toml apps/sipp/
12 -
COPY apps/feeds/Cargo.toml apps/feeds/
13 -
COPY apps/parcels/Cargo.toml apps/parcels/
14 -
COPY apps/jotts/Cargo.toml apps/jotts/
15 -
COPY apps/og/Cargo.toml apps/og/
16 -
COPY apps/shrink/Cargo.toml apps/shrink/
17 -
COPY apps/cellar/Cargo.toml apps/cellar/
18 -
COPY apps/posts/Cargo.toml apps/posts/
19 -
20 -
# Create stubs for dependency caching
21 -
RUN mkdir -p crates/auth/src && echo '' > crates/auth/src/lib.rs \
22 -
    && mkdir -p crates/db/src && echo '' > crates/db/src/lib.rs \
23 -
    && mkdir -p crates/darkmatter-css/src && echo '' > crates/darkmatter-css/src/lib.rs \
24 -
    && mkdir -p crates/darkmatter-css/assets \
25 -
    && for app in sipp feeds parcels jotts og shrink cellar posts; do \
26 -
         mkdir -p apps/$app/src && echo 'fn main() {}' > apps/$app/src/main.rs; \
27 -
       done
5 +
FROM chef AS planner
6 +
COPY . .
7 +
RUN cargo chef prepare --recipe-path recipe.json
28 8
9 +
FROM chef AS builder
10 +
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
11 +
COPY --from=planner /app/recipe.json recipe.json
12 +
RUN cargo chef cook --release --recipe-path recipe.json -p shrink
13 +
COPY . .
29 14
RUN cargo build --release -p shrink
30 -
31 -
# Copy real source
32 -
COPY crates/darkmatter-css/src crates/darkmatter-css/src
33 -
COPY crates/darkmatter-css/assets crates/darkmatter-css/assets
34 -
COPY apps/shrink/src apps/shrink/src
35 -
COPY apps/shrink/templates apps/shrink/templates
36 -
COPY apps/shrink/static apps/shrink/static
37 -
38 -
RUN touch apps/shrink/src/*.rs crates/darkmatter-css/src/*.rs && cargo build --release -p shrink
39 15
40 16
FROM debian:bookworm-slim
41 17
WORKDIR /app
apps/sipp/Dockerfile +9 −35
1 1
# Build from repo root: docker build -t sipp -f apps/sipp/Dockerfile .
2 -
FROM rust:1-slim-bookworm AS builder
3 -
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
2 +
FROM lukemathwalker/cargo-chef:latest-rust-1-slim-bookworm AS chef
4 3
WORKDIR /app
5 4
6 -
# Copy workspace manifests
7 -
COPY Cargo.toml Cargo.lock .
8 -
COPY crates/auth/Cargo.toml crates/auth/
9 -
COPY crates/db/Cargo.toml crates/db/
10 -
COPY crates/darkmatter-css/Cargo.toml crates/darkmatter-css/
11 -
COPY apps/sipp/Cargo.toml apps/sipp/
12 -
COPY apps/feeds/Cargo.toml apps/feeds/
13 -
COPY apps/parcels/Cargo.toml apps/parcels/
14 -
COPY apps/jotts/Cargo.toml apps/jotts/
15 -
COPY apps/og/Cargo.toml apps/og/
16 -
COPY apps/shrink/Cargo.toml apps/shrink/
17 -
COPY apps/cellar/Cargo.toml apps/cellar/
18 -
COPY apps/posts/Cargo.toml apps/posts/
19 -
20 -
# Create stubs for dependency caching
21 -
RUN mkdir -p crates/auth/src && echo '' > crates/auth/src/lib.rs \
22 -
    && mkdir -p crates/db/src && echo '' > crates/db/src/lib.rs \
23 -
    && mkdir -p crates/darkmatter-css/src && echo '' > crates/darkmatter-css/src/lib.rs \
24 -
    && mkdir -p crates/darkmatter-css/assets \
25 -
    && for app in sipp feeds parcels jotts og shrink cellar posts; do \
26 -
         mkdir -p apps/$app/src && echo 'fn main() {}' > apps/$app/src/main.rs; \
27 -
       done
5 +
FROM chef AS planner
6 +
COPY . .
7 +
RUN cargo chef prepare --recipe-path recipe.json
28 8
9 +
FROM chef AS builder
10 +
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
11 +
COPY --from=planner /app/recipe.json recipe.json
12 +
RUN cargo chef cook --release --recipe-path recipe.json -p sipp-so
13 +
COPY . .
29 14
RUN cargo build --release -p sipp-so
30 -
31 -
# Copy real source
32 -
COPY crates/auth/src crates/auth/src
33 -
COPY crates/db/src crates/db/src
34 -
COPY crates/darkmatter-css/src crates/darkmatter-css/src
35 -
COPY crates/darkmatter-css/assets crates/darkmatter-css/assets
36 -
COPY apps/sipp/src apps/sipp/src
37 -
COPY apps/sipp/static apps/sipp/static
38 -
COPY apps/sipp/templates apps/sipp/templates
39 -
40 -
RUN touch apps/sipp/src/*.rs crates/auth/src/*.rs crates/db/src/*.rs crates/darkmatter-css/src/*.rs && cargo build --release -p sipp-so
41 15
42 16
FROM debian:bookworm-slim
43 17
COPY --from=builder /app/target/release/sipp /usr/local/bin/sipp