forked from
tranquil.farm/tranquil-pds
Our Personal Data Server from scratch!
1FROM rust:1.92-alpine AS builder
2RUN apk add --no-cache ca-certificates openssl openssl-dev openssl-libs-static pkgconfig musl-dev
3WORKDIR /app
4COPY Cargo.toml Cargo.lock ./
5COPY crates ./crates
6COPY .sqlx ./.sqlx
7COPY migrations ./crates/tranquil-pds/migrations
8RUN --mount=type=cache,target=/usr/local/cargo/registry \
9 --mount=type=cache,target=/app/target \
10 SQLX_OFFLINE=true cargo build --release -p tranquil-pds && \
11 cp target/release/tranquil-pds /tmp/tranquil-pds
12
13FROM alpine:3.23
14RUN apk add --no-cache msmtp ca-certificates && ln -sf /usr/bin/msmtp /usr/sbin/sendmail
15COPY --from=builder /tmp/tranquil-pds /usr/local/bin/tranquil-pds
16COPY migrations /app/migrations
17WORKDIR /app
18ENV SERVER_HOST=0.0.0.0
19ENV SERVER_PORT=3000
20EXPOSE 3000
21CMD ["tranquil-pds"]