2025-03-19 10:16:51 +03:00
|
|
|
# syntax=docker.io/docker/dockerfile:1
|
2024-11-04 11:45:45 +03:00
|
|
|
|
2025-10-01 11:55:54 +00:00
|
|
|
FROM docker.io/rust:1-slim-trixie AS builder
|
2024-02-01 07:24:26 +00:00
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
2026-01-08 16:01:47 +00:00
|
|
|
RUN rm -f /etc/apt/apt.conf.d/docker-clean \
|
|
|
|
|
&& echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
|
|
|
|
|
|
|
|
|
|
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
|
|
|
|
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
|
|
|
|
apt-get update \
|
|
|
|
|
&& apt-get install -y --no-install-recommends cmake make
|
|
|
|
|
|
2025-04-10 06:55:12 +00:00
|
|
|
RUN --mount=source=src,target=src \
|
2025-04-16 12:03:56 +03:00
|
|
|
--mount=source=Cargo.toml,target=Cargo.toml \
|
|
|
|
|
--mount=source=Cargo.lock,target=Cargo.lock \
|
|
|
|
|
--mount=type=cache,target=/app/target,sharing=locked \
|
|
|
|
|
--mount=type=cache,target=/usr/local/cargo/registry,sharing=locked \
|
2025-11-03 16:46:18 +03:00
|
|
|
cargo build --release --locked \
|
2025-04-16 12:03:56 +03:00
|
|
|
&& cp target/release/proxy-scraper-checker .
|
2024-02-01 07:24:26 +00:00
|
|
|
|
|
|
|
|
|
2025-08-13 07:20:07 +03:00
|
|
|
FROM docker.io/debian:trixie-slim AS final
|
2024-02-01 07:24:26 +00:00
|
|
|
|
2025-04-10 06:55:12 +00:00
|
|
|
WORKDIR /app
|
2024-02-01 07:24:26 +00:00
|
|
|
|
2026-01-08 22:37:35 +03:00
|
|
|
RUN rm -f /etc/apt/apt.conf.d/docker-clean \
|
|
|
|
|
&& echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
|
|
|
|
|
|
|
|
|
|
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
|
|
|
|
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
|
|
|
|
apt-get update \
|
|
|
|
|
&& apt-get install -y --no-install-recommends ca-certificates
|
|
|
|
|
|
2025-04-10 06:55:12 +00:00
|
|
|
ARG \
|
|
|
|
|
UID=1000 \
|
|
|
|
|
GID=1000
|
2024-02-01 07:24:26 +00:00
|
|
|
|
2025-07-20 11:21:49 +03:00
|
|
|
RUN (getent group "${GID}" || groupadd --gid "${GID}" app) \
|
2025-04-14 13:01:45 +03:00
|
|
|
&& useradd --gid "${GID}" --no-log-init --create-home --uid "${UID}" app \
|
2024-02-01 07:24:26 +00:00
|
|
|
&& mkdir -p /home/app/.cache/proxy_scraper_checker \
|
2025-10-25 21:11:26 +03:00
|
|
|
&& chown "${UID}:${GID}" /home/app/.cache/proxy_scraper_checker
|
2024-02-01 07:24:26 +00:00
|
|
|
|
2025-04-10 06:55:12 +00:00
|
|
|
COPY --from=builder --chown=${UID}:${GID} --link /app/proxy-scraper-checker .
|
2024-10-01 15:53:42 +03:00
|
|
|
|
2024-02-01 07:24:26 +00:00
|
|
|
USER app
|
|
|
|
|
|
2025-04-10 06:55:12 +00:00
|
|
|
CMD ["/app/proxy-scraper-checker"]
|