28 lines
854 B
Docker
28 lines
854 B
Docker
# Build the SPA first so build.rs embeds web/dist via ARR_WEB_DIST.
|
|
FROM node:22-bookworm-slim AS web
|
|
WORKDIR /src
|
|
ENV CI=true
|
|
RUN corepack enable && corepack prepare pnpm@11.21.0 --activate
|
|
COPY web/package.json web/pnpm-lock.yaml ./web/
|
|
RUN pnpm -C web install --frozen-lockfile --config.dangerouslyAllowAllBuilds=true
|
|
COPY web ./web
|
|
RUN pnpm -C web build
|
|
|
|
FROM rust:1-bookworm AS build
|
|
WORKDIR /src
|
|
COPY . .
|
|
COPY --from=web /src/web/dist ./web/dist
|
|
ENV ARR_WEB_DIST=/src/web/dist
|
|
RUN cargo build --release -p arr-daemon
|
|
|
|
FROM debian:bookworm-slim
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends ffmpeg ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
COPY --from=build /src/target/release/arr /usr/local/bin/arr
|
|
ENV ARR_BIND_ADDR=0.0.0.0:7878 \
|
|
ARR_DATABASE_PATH=/data/arr.db
|
|
VOLUME /data
|
|
EXPOSE 7878
|
|
ENTRYPOINT ["arr"]
|