-
Notifications
You must be signed in to change notification settings - Fork 90
/
Dockerfile.trixie
109 lines (87 loc) · 3.78 KB
/
Dockerfile.trixie
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
FROM debian:trixie-20240904 as base
ARG DEBIAN_FRONTEND=noninteractive
ARG APT_LISTCHANGES_FRONTEND=none
RUN apt-get update -qq
RUN apt-get install --no-install-recommends -y dpkg-dev devscripts curl git
#RUN echo "deb [signed-by=/etc/apt/trusted.gpg.d/spectrumim.gpg] https://packages.spectrum.im/spectrum2/ bullseye main" | tee -a /etc/apt/sources.list
#RUN echo "deb-src [signed-by=/etc/apt/trusted.gpg.d/spectrumim.gpg] https://packages.spectrum.im/spectrum2/ bullseye main" | tee -a /etc/apt/sources.list
#RUN curl https://packages.spectrum.im/packages.key | gpg --dearmor -o /etc/apt/trusted.gpg.d/spectrumim.gpg
RUN apt-get update -qq
RUN apt-get install --no-install-recommends -y libminiupnpc-dev libnatpmp-dev spectrum2 libpurple-dev cmake libssl-dev
COPY . spectrum2/
FROM base as staging
ARG DEBIAN_FRONTEND=noninteractive
ARG APT_LISTCHANGES_FRONTEND=none
WORKDIR /spectrum2/packaging/debian/
RUN apt-get install --no-install-recommends -y libjson-glib-dev \
graphicsmagick-imagemagick-compat libsecret-1-dev libnss3-dev \
libwebp-dev libgcrypt20-dev libpng-dev libglib2.0-dev \
libprotobuf-c-dev protobuf-c-compiler libmarkdown2-dev libopusfile-dev build-essential
RUN echo "---> Installing purple-instagram" && \
git clone https://github.com/EionRobb/purple-instagram.git && \
cd purple-instagram && \
make && \
make DESTDIR=/tmp/out install
RUN echo "---> Installing icyque" && \
git clone https://github.com/EionRobb/icyque.git && \
cd icyque && \
make && \
make DESTDIR=/tmp/out install
RUN echo "---> Install Steam" && \
git clone https://github.com/EionRobb/pidgin-opensteamworks.git && \
cd pidgin-opensteamworks/steam-mobile && \
make && \
make DESTDIR=/tmp/out install
RUN echo "---> Install Teams" && \
git clone https://github.com/EionRobb/purple-teams.git && \
cd purple-teams && \
make && \
make DESTDIR=/tmp/out install
RUN echo "---> Install Skypeweb" && \
git clone https://github.com/EionRobb/skype4pidgin.git && \
cd skype4pidgin/skypeweb && \
make && \
make DESTDIR=/tmp/out install
RUN echo "---> purple-gowhatsapp" && \
apt-get -y install golang && \
git clone https://github.com/hoehermann/purple-gowhatsapp.git && \
cd purple-gowhatsapp && \
git checkout 723c329cfa54a7ce9a50c63c513c37759ffce82f && \
git submodule update --init && \
cmake . && \
make && \
make DESTDIR=/tmp/out install
RUN echo "---> purple-battlenet" && \
git clone --recursive https://github.com/EionRobb/purple-battlenet && \
cd purple-battlenet && \
make && \
make DESTDIR=/tmp/out install
RUN echo "---> purple-hangouts" && \
git clone --recursive https://github.com/EionRobb/purple-hangouts && \
cd purple-hangouts && \
make && \
make DESTDIR=/tmp/out install
RUN echo "---> purple-mattermost" && \
git clone --recursive https://github.com/EionRobb/purple-mattermost && \
cd purple-mattermost && \
make && \
make DESTDIR=/tmp/out install
RUN curl -o /tmp/out/libtelegram-tdlib.so https://buildbot.hehoe.de/tdlib-pruple/libtelegram-tdlib-1.8.35_bookworm_amd64.so
FROM debian:trixie-20240904 as production
EXPOSE 8080
VOLUME ["/etc/spectrum2/transports", "/var/lib/spectrum2"]
RUN apt-get update -qq
RUN apt-get install --no-install-recommends -y curl ca-certificates gnupg1 gpg gpg-agent
RUN apt-get install --no-install-recommends -y spectrum2 spectrum2-backend-libpurple spectrum2-backend-libcommuni spectrum2-backend-swiften
COPY --from=staging spectrum2/packaging/debian/*.deb /tmp/
RUN echo "---> Installing libpurple plugins" && \
DEBIAN_FRONTEND=noninteractive apt install --no-install-recommends -y \
purple-discord \
libmarkdown2 \
libogg0 libopusfile0 \
nodejs \
&& rm -rf /var/lib/apt/lists/*
COPY --from=staging /tmp/out/* /usr/
COPY --from=staging spectrum2/packaging/docker/run.sh /run.sh
RUN rm -rf /tmp/*.deb
ENTRYPOINT ["/run.sh"]