vault-link/sync-server/Dockerfile

39 lines
898 B
Docker

FROM rust:1.90-slim-trixie AS builder
WORKDIR /usr/src/backend
RUN apt update && \
apt install -y \
libssl-dev \
pkg-config && \
cargo install sqlx-cli
COPY . .
RUN sqlx database create --database-url sqlite://db.sqlite3 && \
sqlx migrate run --source src/app_state/database/migrations --database-url sqlite://db.sqlite3 && \
cargo build --release
FROM debian:trixie-slim
LABEL org.opencontainers.image.authors="andras@schmelczer.dev"
RUN apt update && \
apt install -y \
curl \
procps \
ca-certificates && \
apt clean && \
rm -rf /var/lib/apt/lists/*
COPY --from=builder /usr/src/backend/target/release/sync_server /app/sync_server
VOLUME /data
EXPOSE 3000/tcp
WORKDIR /data
HEALTHCHECK --interval=30s --timeout=5s \
CMD curl -f http://localhost:3000/vaults/fake/ping || exit 1
ENTRYPOINT ["/bin/bash", "-c"]
CMD ["/app/sync_server"]