Skip to content

Commit af76ada

Browse files
committed
new setup for python ingestion
1 parent 088cf3b commit af76ada

4 files changed

Lines changed: 70 additions & 36 deletions

File tree

Dockerfile

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1
22
FROM lscr.io/linuxserver/xvfb:debianbookworm AS xvfb
3-
FROM ghcr.io/linuxserver/baseimage-alpine:3.21 AS frontend
3+
FROM ghcr.io/linuxserver/baseimage-alpine:3.22 AS frontend
44

55
RUN \
66
echo "**** install build packages ****" && \
@@ -16,7 +16,7 @@ RUN \
1616
https://github.com/selkies-project/selkies.git \
1717
/src && \
1818
cd /src && \
19-
git checkout -f cf4df6ae7695674a2b62d1a687e15b19128cfca3
19+
git checkout -f e79285cc42525d333490a68361be48d61a35becb
2020

2121
RUN \
2222
echo "**** build frontend ****" && \
@@ -59,14 +59,8 @@ RUN \
5959
echo "**** dev deps ****" && \
6060
apt-get update && \
6161
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
62-
libev-dev \
63-
libjpeg62-turbo-dev \
6462
libopus-dev \
6563
libpulse-dev \
66-
libx11-dev \
67-
libxext-dev \
68-
libxfixes-dev \
69-
libx264-dev \
7064
python3-dev \
7165
python3-pip && \
7266
echo "**** enable locales ****" && \
@@ -110,8 +104,6 @@ RUN \
110104
libgl1-mesa-dri \
111105
libglu1-mesa \
112106
libgnutls30 \
113-
libgstreamer1.0 \
114-
libjpeg62-turbo \
115107
libnginx-mod-http-fancyindex \
116108
libnotify-bin \
117109
libopus0 \
@@ -120,7 +112,6 @@ RUN \
120112
libtasn1-6 \
121113
libvulkan1 \
122114
libx11-6 \
123-
libx264-164 \
124115
libxau6 \
125116
libxcb1 \
126117
libxcursor1 \
@@ -145,6 +136,7 @@ RUN \
145136
pulseaudio \
146137
pulseaudio-utils \
147138
python3 \
139+
python3-distutils \
148140
software-properties-common \
149141
ssl-cert \
150142
stterm \
@@ -176,15 +168,13 @@ RUN \
176168
xutils \
177169
xvfb \
178170
zlib1g && \
179-
apt install -t bookworm-backports -y \
180-
mesa-libgallium && \
181171
echo "**** install selkies ****" && \
182172
pip3 install pixelflux pcmflux --break-system-packages && \
183173
SELKIES_RELEASE=$(curl -sX GET "https://api.github.com/repos/selkies-project/selkies/releases/latest" \
184174
| awk '/tag_name/{print $4;exit}' FS='[""]') && \
185175
curl -o \
186176
/tmp/selkies.tar.gz -L \
187-
"https://github.com/selkies-project/selkies/archive/cf4df6ae7695674a2b62d1a687e15b19128cfca3.tar.gz" && \
177+
"https://github.com/selkies-project/selkies/archive/e79285cc42525d333490a68361be48d61a35becb.tar.gz" && \
188178
cd /tmp && \
189179
tar xf selkies.tar.gz && \
190180
cd selkies-* && \
@@ -253,12 +243,8 @@ RUN \
253243
| tar xzvf - -C /usr/share/themes/Clearlooks/openbox-3/ && \
254244
echo "**** cleanup ****" && \
255245
apt-get purge -y --autoremove \
256-
libjpeg62-turbo-dev \
257246
libopus-dev \
258247
libpulse-dev \
259-
libx11-dev \
260-
libxext-dev \
261-
libx264-dev \
262248
python3-dev \
263249
python3-pip && \
264250
apt-get autoclean && \

Dockerfile.aarch64

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# syntax=docker/dockerfile:1
22
FROM lscr.io/linuxserver/xvfb:arm64v8-debianbookworm AS xvfb
3-
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.21 AS frontend
3+
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.22 AS frontend
44

55
RUN \
66
echo "**** install build packages ****" && \
@@ -16,7 +16,7 @@ RUN \
1616
https://github.com/selkies-project/selkies.git \
1717
/src && \
1818
cd /src && \
19-
git checkout -f cf4df6ae7695674a2b62d1a687e15b19128cfca3
19+
git checkout -f e79285cc42525d333490a68361be48d61a35becb
2020

2121
RUN \
2222
echo "**** build frontend ****" && \
@@ -59,14 +59,8 @@ RUN \
5959
echo "**** dev deps ****" && \
6060
apt-get update && \
6161
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y \
62-
libev-dev \
63-
libjpeg62-turbo-dev \
6462
libopus-dev \
6563
libpulse-dev \
66-
libx11-dev \
67-
libxext-dev \
68-
libxfixes-dev \
69-
libx264-dev \
7064
python3-dev \
7165
python3-pip && \
7266
echo "**** enable locales ****" && \
@@ -109,8 +103,6 @@ RUN \
109103
libgl1-mesa-dri \
110104
libglu1-mesa \
111105
libgnutls30 \
112-
libgstreamer1.0 \
113-
libjpeg62-turbo \
114106
libnginx-mod-http-fancyindex \
115107
libnotify-bin \
116108
libopus0 \
@@ -119,7 +111,6 @@ RUN \
119111
libtasn1-6 \
120112
libvulkan1 \
121113
libx11-6 \
122-
libx264-164 \
123114
libxau6 \
124115
libxcb1 \
125116
libxcursor1 \
@@ -144,6 +135,7 @@ RUN \
144135
pulseaudio \
145136
pulseaudio-utils \
146137
python3 \
138+
python3-distutils \
147139
software-properties-common \
148140
ssl-cert \
149141
stterm \
@@ -174,15 +166,13 @@ RUN \
174166
xutils \
175167
xvfb \
176168
zlib1g && \
177-
apt install -t bookworm-backports -y \
178-
mesa-libgallium && \
179169
echo "**** install selkies ****" && \
180170
pip3 install pixelflux pcmflux --break-system-packages && \
181171
SELKIES_RELEASE=$(curl -sX GET "https://api.github.com/repos/selkies-project/selkies/releases/latest" \
182172
| awk '/tag_name/{print $4;exit}' FS='[""]') && \
183173
curl -o \
184174
/tmp/selkies.tar.gz -L \
185-
"https://github.com/selkies-project/selkies/archive/cf4df6ae7695674a2b62d1a687e15b19128cfca3.tar.gz" && \
175+
"https://github.com/selkies-project/selkies/archive/e79285cc42525d333490a68361be48d61a35becb.tar.gz" && \
186176
cd /tmp && \
187177
tar xf selkies.tar.gz && \
188178
cd selkies-* && \
@@ -251,12 +241,8 @@ RUN \
251241
| tar xzvf - -C /usr/share/themes/Clearlooks/openbox-3/ && \
252242
echo "**** cleanup ****" && \
253243
apt-get purge -y --autoremove \
254-
libjpeg62-turbo-dev \
255244
libopus-dev \
256245
libpulse-dev \
257-
libx11-dev \
258-
libxext-dev \
259-
libx264-dev \
260246
python3-dev \
261247
python3-pip && \
262248
apt-get autoclean && \

README.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,37 @@ All base images are built for x86_64 and aarch64 platforms.
6969
| Kali | kali |
7070
| Ubuntu | ubuntunoble |
7171

72+
### DRI3 GPU Acceleration
73+
74+
For accelerated apps or games, render devices can be mounted into the container and leveraged by applications using:
75+
76+
`--device /dev/dri:/dev/dri`
77+
78+
This feature only supports **Open Source** GPU drivers:
79+
80+
| Driver | Description |
81+
| :----: | --- |
82+
| Intel | i965 and i915 drivers for Intel iGPU chipsets |
83+
| AMD | AMDGPU, Radeon, and ATI drivers for AMD dedicated or APU chipsets |
84+
| NVIDIA | nouveau2 drivers only, closed source NVIDIA drivers lack DRI3 support |
85+
86+
The `DRINODE` environment variable can be used to point to a specific GPU.
87+
88+
DRI3 will work on aarch64 given the correct drivers are installed inside the container for your chipset.
89+
90+
### Nvidia GPU Support
91+
92+
**Note: Nvidia support is not available for Alpine-based images.**
93+
94+
Nvidia GPU support is available by leveraging Zink for OpenGL. When a compatible Nvidia GPU is passed through, it will also be **automatically utilized for hardware-accelerated video stream encoding** (using the `x264enc` full-frame profile), significantly reducing CPU load.
95+
96+
Enable Nvidia support with the following runtime flags:
97+
98+
| Flag | Description |
99+
| :----: | --- |
100+
| `--gpus all` | Passes all available host GPUs to the container. This can be filtered to specific GPUs. |
101+
| `--runtime nvidia` | Specifies the Nvidia runtime, which provides the necessary drivers and tools from the host. |
102+
72103
# PRoot Apps
73104

74105
All images include [proot-apps](https://github.com/linuxserver/proot-apps) which allow portable applications to be installed to persistent storage in the user's `$HOME` directory. These applications and their settings will persist upgrades of the base container and can be mounted into different flavors of Selkies containers. IE if you are running an Alpine based container you will be able to use the same `/config` directory mounted into a Debian based container and retain the same applications and settings as long as they were installed with `proot-apps install`.

readme-vars.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,37 @@ full_custom_readme: |
7373
| Kali | kali |
7474
| Ubuntu | ubuntunoble |
7575
76+
### DRI3 GPU Acceleration
77+
78+
For accelerated apps or games, render devices can be mounted into the container and leveraged by applications using:
79+
80+
`--device /dev/dri:/dev/dri`
81+
82+
This feature only supports **Open Source** GPU drivers:
83+
84+
| Driver | Description |
85+
| :----: | --- |
86+
| Intel | i965 and i915 drivers for Intel iGPU chipsets |
87+
| AMD | AMDGPU, Radeon, and ATI drivers for AMD dedicated or APU chipsets |
88+
| NVIDIA | nouveau2 drivers only, closed source NVIDIA drivers lack DRI3 support |
89+
90+
The `DRINODE` environment variable can be used to point to a specific GPU.
91+
92+
DRI3 will work on aarch64 given the correct drivers are installed inside the container for your chipset.
93+
94+
### Nvidia GPU Support
95+
96+
**Note: Nvidia support is not available for Alpine-based images.**
97+
98+
Nvidia GPU support is available by leveraging Zink for OpenGL. When a compatible Nvidia GPU is passed through, it will also be **automatically utilized for hardware-accelerated video stream encoding** (using the `x264enc` full-frame profile), significantly reducing CPU load.
99+
100+
Enable Nvidia support with the following runtime flags:
101+
102+
| Flag | Description |
103+
| :----: | --- |
104+
| `--gpus all` | Passes all available host GPUs to the container. This can be filtered to specific GPUs. |
105+
| `--runtime nvidia` | Specifies the Nvidia runtime, which provides the necessary drivers and tools from the host. |
106+
76107
# PRoot Apps
77108
78109
All images include [proot-apps](https://github.com/linuxserver/proot-apps) which allow portable applications to be installed to persistent storage in the user's `$HOME` directory. These applications and their settings will persist upgrades of the base container and can be mounted into different flavors of Selkies containers. IE if you are running an Alpine based container you will be able to use the same `/config` directory mounted into a Debian based container and retain the same applications and settings as long as they were installed with `proot-apps install`.

0 commit comments

Comments
 (0)