Initial commit.
This commit is contained in:
216
Dockerfile
Normal file
216
Dockerfile
Normal file
@@ -0,0 +1,216 @@
|
||||
FROM alpine:latest
|
||||
|
||||
ENV BITLBEE_COMMIT=bef5d78031b01c2d443c7c949727c7baca298c9c \
|
||||
DISCORD_COMMIT=aa0bbf2df851b1fd1b27164713121d20c610b7c5 \
|
||||
MATTERMOST_COMMIT=e21f18c4d868bf6db4e3d436eddcaca5da5effe0 \
|
||||
PUSHBULLET_COMMIT=8a7837c13a3ff445325aa20cf1fb556dbf4a76f0 \
|
||||
ROCKETCHAT_COMMIT=826990b48f41d77e1280f5fa51082ed2f5115ddf \
|
||||
SKYPE_COMMIT=2f5a3e2413c9c69722d26fb4432190cf1f6458d9 \
|
||||
SLACK_COMMIT=be97802c7fd0b611722d2f551756e2a2672f6084 \
|
||||
TELEGRAM_COMMIT=44a1349bf4c57e8b648dae113ec7cf3bdbde0789 \
|
||||
VK_COMMIT=51a91c83561741996a07af46cba512b9c86b8e98 \
|
||||
RUNTIME_DEPS=" \
|
||||
cyrus-sasl \
|
||||
cyrus-sasl-crammd5 \
|
||||
cyrus-sasl-digestmd5 \
|
||||
cyrus-sasl-scram \
|
||||
cyrus-sasl-plain \
|
||||
glib \
|
||||
gnutls \
|
||||
json-glib \
|
||||
libevent \
|
||||
libgcrypt \
|
||||
libotr \
|
||||
libpurple \
|
||||
libpurple-bonjour \
|
||||
libpurple-oscar \
|
||||
libpurple-xmpp \
|
||||
libsasl \
|
||||
openldap \
|
||||
protobuf-c"
|
||||
|
||||
# bitlbee
|
||||
RUN apk add --update --no-cache --virtual build-dependencies \
|
||||
build-base \
|
||||
git \
|
||||
gnutls-dev \
|
||||
libevent-dev \
|
||||
libotr-dev \
|
||||
pidgin-dev \
|
||||
openldap-dev; \
|
||||
apk add --no-cache --virtual runtime-dependencies ${RUNTIME_DEPS}; \
|
||||
cd /root; \
|
||||
git clone -n https://github.com/bitlbee/bitlbee; \
|
||||
cd bitlbee; \
|
||||
git checkout ${BITLBEE_COMMIT}; \
|
||||
cp bitlbee.conf /bitlbee.conf; \
|
||||
mkdir /bitlbee-data; \
|
||||
./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --debug=0 --events=libevent --ldap=1 --otr=plugin --purple=1 --config=/bitlbee-data; \
|
||||
make; \
|
||||
make install; \
|
||||
make install-dev; \
|
||||
make install-etc; \
|
||||
adduser -u 1000 -S bitlbee; \
|
||||
addgroup -g 1000 -S bitlbee; \
|
||||
chown -R bitlbee:bitlbee /bitlbee-data; \
|
||||
touch /var/run/bitlbee.pid; \
|
||||
chown bitlbee:bitlbee /var/run/bitlbee.pid; \
|
||||
rm -rf /root; \
|
||||
mkdir /root; \
|
||||
apk del --purge build-dependencies
|
||||
|
||||
# discord
|
||||
RUN apk add --no-cache --virtual build-dependencies \
|
||||
autoconf \
|
||||
automake \
|
||||
build-base \
|
||||
git \
|
||||
glib-dev \
|
||||
libtool; \
|
||||
cd /root; \
|
||||
git clone -n https://github.com/sm00th/bitlbee-discord; \
|
||||
cd bitlbee-discord; \
|
||||
git checkout ${DISCORD_COMMIT}; \
|
||||
./autogen.sh; \
|
||||
./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl; \
|
||||
make; \
|
||||
make install; \
|
||||
strip /usr/local/lib/bitlbee/discord.so; \
|
||||
rm -rf /root; \
|
||||
mkdir /root; \
|
||||
apk del --purge build-dependencies
|
||||
|
||||
# mattermost
|
||||
RUN apk add --no-cache --virtual build-dependencies \
|
||||
build-base \
|
||||
discount-dev \
|
||||
git \
|
||||
json-glib-dev \
|
||||
pidgin-dev; \
|
||||
cd /root; \
|
||||
git clone -n https://github.com/EionRobb/purple-mattermost; \
|
||||
cd purple-mattermost; \
|
||||
git checkout ${MATTERMOST_COMMIT}; \
|
||||
make; \
|
||||
make install; \
|
||||
strip /usr/lib/purple-2/libmattermost.so; \
|
||||
rm -rf /root; \
|
||||
mkdir /root; \
|
||||
apk del --purge build-dependencies
|
||||
|
||||
# pushbullet
|
||||
RUN apk add --no-cache --virtual build-dependencies \
|
||||
build-base \
|
||||
git \
|
||||
json-glib-dev \
|
||||
pidgin-dev; \
|
||||
cd /root; \
|
||||
git clone -n https://github.com/EionRobb/pidgin-pushbullet; \
|
||||
cd pidgin-pushbullet; \
|
||||
git checkout ${PUSHBULLET_COMMIT}; \
|
||||
make; \
|
||||
make install; \
|
||||
strip /usr/lib/purple-2/libpushbullet.so; \
|
||||
rm -rf /root; \
|
||||
mkdir /root; \
|
||||
apk del --purge build-dependencies
|
||||
|
||||
# rocket.chat
|
||||
RUN apk add --no-cache --virtual build-dependencies \
|
||||
build-base \
|
||||
discount-dev \
|
||||
json-glib-dev \
|
||||
mercurial \
|
||||
pidgin-dev; \
|
||||
cd /root; \
|
||||
hg clone -U https://bitbucket.org/EionRobb/purple-rocketchat; \
|
||||
cd purple-rocketchat; \
|
||||
hg update ${ROCKETCHAT_COMMIT}; \
|
||||
make; \
|
||||
make install; \
|
||||
strip /usr/lib/purple-2/librocketchat.so; \
|
||||
rm -rf /root; \
|
||||
mkdir /root; \
|
||||
apk del --purge build-dependencies
|
||||
|
||||
# skype
|
||||
RUN apk add --no-cache --virtual build-dependencies \
|
||||
build-base \
|
||||
git \
|
||||
json-glib-dev \
|
||||
pidgin-dev; \
|
||||
cd /root; \
|
||||
git clone -n https://github.com/EionRobb/skype4pidgin; \
|
||||
cd skype4pidgin; \
|
||||
git checkout ${SKYPE_COMMIT}; \
|
||||
cd skypeweb; \
|
||||
make; \
|
||||
make install; \
|
||||
strip /usr/lib/purple-2/libskypeweb.so; \
|
||||
rm -rf /root; \
|
||||
mkdir /root; \
|
||||
apk del --purge build-dependencies
|
||||
|
||||
# slack
|
||||
RUN apk add --no-cache --virtual build-dependencies \
|
||||
build-base \
|
||||
git \
|
||||
pidgin-dev; \
|
||||
cd /root; \
|
||||
git clone -n https://github.com/dylex/slack-libpurple; \
|
||||
cd slack-libpurple; \
|
||||
git checkout ${SLACK_COMMIT}; \
|
||||
make; \
|
||||
make install; \
|
||||
rm -rf /root; \
|
||||
mkdir /root; \
|
||||
apk del --purge build-dependencies
|
||||
|
||||
# telegram
|
||||
RUN apk add --no-cache --virtual build-dependencies \
|
||||
build-base \
|
||||
git \
|
||||
libgcrypt-dev \
|
||||
pidgin-dev; \
|
||||
cd /root; \
|
||||
git clone -n https://github.com/majn/telegram-purple; \
|
||||
cd telegram-purple; \
|
||||
git checkout ${TELEGRAM_COMMIT}; \
|
||||
git submodule update --init --recursive; \
|
||||
./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --disable-libwebp; \
|
||||
make; \
|
||||
make install; \
|
||||
strip /usr/lib/purple-2/telegram-purple.so; \
|
||||
rm -rf /root; \
|
||||
mkdir /root; \
|
||||
apk del --purge build-dependencies
|
||||
|
||||
# vkontakte
|
||||
RUN apk add --no-cache --virtual build-dependencies \
|
||||
build-base \
|
||||
cmake \
|
||||
libtool \
|
||||
libxml2-dev \
|
||||
mercurial \
|
||||
pidgin-dev; \
|
||||
cd /root; \
|
||||
hg clone -U https://bitbucket.org/olegoandreev/purple-vk-plugin; \
|
||||
cd purple-vk-plugin; \
|
||||
hg update ${VK_COMMIT}; \
|
||||
cd build; \
|
||||
cmake ..; \
|
||||
make; \
|
||||
make install; \
|
||||
strip /usr/lib/purple-2/libpurple-vk-plugin.so; \
|
||||
rm -rf /root; \
|
||||
mkdir /root; \
|
||||
apk del --purge build-dependencies
|
||||
|
||||
# Install runtime dependencies
|
||||
RUN apk add --no-cache ${RUNTIME_DEPS}
|
||||
|
||||
EXPOSE 6667
|
||||
VOLUME /bitlbee-data
|
||||
|
||||
USER bitlbee
|
||||
ENTRYPOINT ["/usr/local/sbin/bitlbee", "-F", "-n", "-d", "/bitlbee-data", "-c", "/bitlbee.conf"]
|
Reference in New Issue
Block a user