-
Notifications
You must be signed in to change notification settings - Fork 40
Expand file tree
/
Copy pathDockerfile
More file actions
63 lines (54 loc) · 1.64 KB
/
Dockerfile
File metadata and controls
63 lines (54 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# syntax=docker/dockerfile:1
FROM docker.io/library/python:3.14-alpine3.23
ARG VERSION
ENV \
CRYPTOGRAPHY_DONT_BUILD_RUST=1 \
PIP_BREAK_SYSTEM_PACKAGES=1 \
PIP_DISABLE_PIP_VERSION_CHECK=1 \
PIP_NO_CACHE_DIR=1 \
PIP_ROOT_USER_ACTION=ignore \
PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
UV_NO_CACHE=true \
UV_SYSTEM_PYTHON=true \
UV_EXTRA_INDEX_URL="https://wheel-index.linuxserver.io/alpine-3.23/"
ENV SABNZBD__ADDRESS="[::]" \
SABNZBD__PORT="8080"
USER root
WORKDIR /app
RUN \
apk add --no-cache \
7zip \
bash \
ca-certificates \
catatonit \
coreutils \
curl \
jq \
nano \
tzdata \
&& \
apk add --no-cache --repository="https://dl-cdn.alpinelinux.org/alpine/edge/testing/" \
par2cmdline-turbo \
&& \
apk add --no-cache --virtual=.build-deps \
build-base \
cargo \
libffi-dev \
musl-dev \
openssl-dev \
&& mkdir -p /app \
&& curl -fsSL "https://github.com/sabnzbd/sabnzbd/releases/download/${VERSION}/SABnzbd-${VERSION}-src.tar.gz" \
| tar xzf - -C /app --strip-components=1 \
&& python tools/make_mo.py \
&& pip install uv \
&& uv pip install --requirement /app/requirements.txt \
&& chown -R root:root /app && chmod -R 755 /app \
&& pip uninstall --yes uv && apk del --purge .build-deps \
&& rm -rf /root/.cache /root/.cargo /tmp/*
COPY . /
COPY --from=ghcr.io/linuxserver/unrar:latest /usr/bin/unrar-alpine /usr/bin/unrar
USER nobody:nogroup
WORKDIR /config
VOLUME ["/config"]
ENTRYPOINT ["/usr/bin/catatonit", "--", "/entrypoint.sh"]