Files
rust_imgapi/Dockerfile
Beyhan Oğur dd72c6220d first commit
2026-04-26 22:32:52 +03:00

58 lines
1.2 KiB
Docker

# syntax=docker/dockerfile:1.7
FROM rust:1.94.1-slim-bookworm AS builder
WORKDIR /app
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
apt-utils \
pkg-config \
libssl-dev \
libvips-dev \
git \
ca-certificates \
curl \
&& rm -rf /var/lib/apt/lists/*
COPY Cargo.toml Cargo.lock ./
COPY src ./src
RUN cargo build --release
FROM debian:bookworm-slim AS runtime
WORKDIR /app
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
apt-utils \
pkg-config \
git \
ca-certificates \
libssl3 \
libvips42 \
libvips-tools \
libvips-dev \
libwebp7 \
libpng16-16 \
libjpeg62-turbo \
libheif1 \
libaom3 \
libde265-0 \
libx265-199 \
&& rm -rf /var/lib/apt/lists/* \
&& useradd --system --create-home --uid 10001 app
COPY --from=builder /app/target/release/Web /usr/local/bin/web-api
RUN mkdir -p /app/uploads/originals /app/uploads/variants \
&& chown -R app:app /app
ENV PORT=3000
ENV IMAGE_UPLOAD_DIR=/app/uploads/originals
ENV IMAGE_VARIANT_DIR=/app/uploads/variants
USER app
EXPOSE 3000
CMD ["/usr/local/bin/web-api"]