23 lines
973 B
Docker
23 lines
973 B
Docker
FROM rust:1-bookworm AS build
|
|
RUN apt-get update && apt-get install -y --no-install-recommends build-essential perl pkg-config && rm -rf /var/lib/apt/lists/*
|
|
WORKDIR /src
|
|
COPY Cargo.toml Cargo.lock ./
|
|
COPY src ./src
|
|
COPY public ./public
|
|
COPY tests ./tests
|
|
COPY compatibility ./compatibility
|
|
RUN cargo build --locked --release
|
|
|
|
FROM debian:bookworm-slim
|
|
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates && rm -rf /var/lib/apt/lists/*
|
|
RUN groupadd --gid 10001 twofauth && useradd --uid 10001 --gid twofauth --no-create-home twofauth && mkdir /data && chown twofauth:twofauth /data
|
|
WORKDIR /app
|
|
COPY --from=build /src/target/release/twofauth-rs /usr/local/bin/twofauth-rs
|
|
COPY public ./public
|
|
COPY LICENSE NOTICE ./
|
|
USER 10001:10001
|
|
ENV DATABASE_URL=sqlite:///data/2fauth.sqlite LISTEN_ADDR=0.0.0.0:8080 RUST_PUBLIC_DIR=/app/public STORAGE_PATH=/data/storage PASSPORT_KEY_PATH=/data/storage
|
|
EXPOSE 8080
|
|
ENTRYPOINT ["twofauth-rs"]
|
|
CMD ["serve"]
|