-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Dockerfile
159 lines (136 loc) · 3.94 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
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# build stage
FROM ghcr.io/linuxserver/baseimage-alpine:3.20 as plugins
RUN \
echo "**** install dev deps ****" && \
apk add --no-cache \
alpine-sdk \
discount-dev \
git \
glib-dev \
imagemagick \
imagemagick-svg \
json-glib-dev \
libgcrypt-dev \
libpng-dev \
libqrencode-dev \
libwebp-dev \
nss-dev \
openssl-dev \
pidgin-dev && \
mkdir /buildout
RUN \
echo "**** grab telegram plugin source ****" && \
TELEGRAM_RELEASE=$(curl -sX GET "https://api.github.com/repos/majn/telegram-purple/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]') && \
git clone https://github.com/majn/telegram-purple.git && \
cd telegram-purple && \
git checkout ${TELEGRAM_RELEASE} && \
git submodule update --init --recursive
RUN \
echo "**** build telegram plugin ****" && \
cd /telegram-purple && \
./configure \
--prefix=/usr && \
make && \
make DESTDIR="/buildout" install
RUN \
echo "**** grab discord plugin source ****" && \
git clone https://github.com/EionRobb/purple-discord.git
RUN \
echo "**** build discord plugin ****" && \
cd /purple-discord && \
make && \
make DESTDIR="/buildout" install
RUN \
echo "**** grab slack plugin source ****" && \
git clone https://github.com/EionRobb/slack-libpurple.git
RUN \
echo "**** build discord plugin ****" && \
cd /slack-libpurple && \
make && \
make DESTDIR="/buildout" install
RUN \
echo "**** grab skype plugin source ****" && \
SKYPE_RELEASE=$(curl -sX GET "https://api.github.com/repos/EionRobb/skype4pidgin/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]') && \
git clone https://github.com/EionRobb/skype4pidgin.git && \
cd skype4pidgin && \
git checkout ${SKYPE_RELEASE}
RUN \
echo "**** build skype plugin ****" && \
cd /skype4pidgin/skypeweb && \
make && \
make DESTDIR="/buildout" install
RUN \
echo "**** grab ICQ wim source ****" && \
git clone https://github.com/EionRobb/icyque.git
RUN \
echo "**** build ICQ wim plugin ****" && \
cd /icyque && \
make && \
make DESTDIR="/buildout" install
RUN \
echo "**** grab rocketchat source ****" && \
git clone https://github.com/EionRobb/purple-rocketchat.git
RUN \
echo "**** build rocketchat plugin ****" && \
cd /purple-rocketchat && \
make && \
make DESTDIR="/buildout" install
RUN \
echo "**** grab instagram source ****" && \
git clone https://github.com/EionRobb/purple-instagram.git
RUN \
echo "**** build instagram plugin ****" && \
cd /purple-instagram && \
make && \
make DESTDIR="/buildout" install
# runtime stage
FROM ghcr.io/linuxserver/baseimage-kasmvnc:alpine320
# set version label
ARG BUILD_DATE
ARG VERSION
ARG PIDGIN_VERSION
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="thelamer"
# title
ENV TITLE=Pidgin \
NO_FULL=true
# copy over all plugin libs
COPY --from=plugins /buildout/ /
RUN \
echo "**** add icon ****" && \
curl -o \
/kclient/public/icon.png \
https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/pidgin-logo.png && \
echo "**** install packages ****" && \
if [ -z ${PIDGIN_VERSION+x} ]; then \
PIDGIN_VERSION=$(curl -sL "http://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz" | tar -xz -C /tmp \
&& awk '/^P:pidgin$/,/V:/' /tmp/APKINDEX | sed -n 2p | sed 's/^V://'); \
fi && \
apk add --no-cache \
discount \
firefox \
libqrencode \
libwebp \
nss \
pidgin==${PIDGIN_VERSION} \
pidgin-lang \
pidgin-otr \
pidgin-otr-lang \
pidgin-sipe \
pidgin-sipe-lang \
purple-carbons \
purple-lurch \
purple-xmpp-http-upload && \
apk add --no-cache --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing \
purple-facebook \
purple-hangouts && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/*
# add local files
COPY /root /
# ports and volumes
EXPOSE 3000
VOLUME /config