-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathDockerfile
79 lines (67 loc) · 3.2 KB
/
Dockerfile
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
FROM debian:12-slim
RUN apt-get update && apt-get install -y --no-install-recommends \
netcat-openbsd wget unzip net-tools sudo psmisc procps sngrep \
v4l2loopback-utils libsdl2-2.0-0 libgl1-mesa-dri \
fluxbox xdotool unclutter \
dbus-user-session \
pulseaudio socat alsa-utils libspandsp2 \
ffmpeg xvfb \
python3 python3-pip python3-setuptools python3.11-venv \
libnss3 openssl \
libavcodec-dev libavformat-dev libavutil-dev libavdevice-dev \
libvpx-dev libopus-dev \
libv4l-dev libx11-dev libxext-dev libspandsp-dev libasound2-dev libsdl2-dev \
libssl-dev \
build-essential cmake git \
&& git clone --branch v3.15.0_patch https://github.com/Renater/re.git && cd re \
&& cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build -j && cmake --install build && cd .. \
&& git clone --branch v3.15.0_patch https://github.com/Renater/baresip.git && cd baresip \
&& cmake -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build -j && cmake --install build && cd .. \
&& rm -r baresip re \
&& git clone https://github.com/Renater/JitsiMeetUIHelper.git /var/UIHelper \
&& cd /var/UIHelper && git checkout dc50c19eac4113976fea37ae02838693996a2bf5 \
&& apt-get remove --purge -y \
libavcodec-dev libavformat-dev libavutil-dev libavdevice-dev \
libv4l-dev libx11-dev libxext-dev libspandsp-dev libasound2-dev libsdl2-dev \
libvpx-dev libopus-dev \
libssl-dev \
build-essential cmake git \
&& apt autoremove -y \
&& apt autoclean -y
#v=$(curl 'https://packages.debian.org/bookworm/amd64/chromium/download' | grep -o "chromium_.*.deb" | head -1 | cut -d "_" -f 2)
#https://snapshot.debian.org/archive/debian/20240930T202925Z/pool/main/c/chromium/
RUN v='131.0.6778.85-1~deb12u1' \
&& url='http://security.debian.org/debian-security/pool/updates/main/c/chromium/' \
&& wget $url'chromium_'$v'_amd64.deb' \
&& wget $url'chromium-common_'$v'_amd64.deb' \
&& wget $url'chromium-sandbox_'$v'_amd64.deb' \
&& wget $url'chromium-driver_'$v'_amd64.deb' \
&& apt install -y './chromium-sandbox_'$v'_amd64.deb' \
&& apt install -y './chromium-common_'$v'_amd64.deb' \
&& apt install -y './chromium_'$v'_amd64.deb' \
&& apt install -y './chromium-driver_'$v'_amd64.deb' \
&& rm *.deb
RUN python3 -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
RUN pip3 install --no-cache-dir --upgrade pip
RUN pip3 install --no-cache-dir selenium requests pynetstring
RUN pip3 install --no-cache-dir gTTS pydub \
&& python3 /var/UIHelper/scripts/generate_tts_files.py -i /var/UIHelper/src/assets/lang/ -o /var/UIHelper/src/assets/lang/files/ \
&& pip3 uninstall -y gTTS pydub
COPY entrypoint.sh /var/
COPY pulseaudio/init.sh /var/pulseaudio_init.sh
COPY src/logParse.py /usr/local/bin/logParse
COPY pulseaudio/daemon.conf /etc/pulse/
COPY alsa/asound.conf /etc/asound.conf
COPY fluxbox/init /root/.fluxbox/init
COPY baresip /var/baresip
COPY streaming /var/streaming
COPY browsing /var/browsing
COPY src /var/src
RUN mkdir /var/.baresip
RUN chmod +x /var/entrypoint.sh
RUN chmod +x /var/streaming/streaming.sh
RUN chmod +x /var/baresip/baresip.sh
RUN adduser root pulse-access
WORKDIR /var
ENTRYPOINT ["/bin/bash", "/var/entrypoint.sh"]