7 Commits

Author SHA1 Message Date
ezkrg
a236c2eb8f Merge pull request #15 from ezkrg/multirun
multi RUN
2019-11-26 20:55:37 +01:00
ezkrg
e815a2439f spaces or tabs ?!?! 2019-11-26 20:30:40 +01:00
ezkrg
88a558de05 multiple run in Dockerfile 2019-11-26 20:24:58 +01:00
ezkrg
0023581ccb strip bitlbee and liboml 2019-11-25 23:59:01 +01:00
ezkrg
9f05eee5f3 Merge pull request #14 from ezkrg/matrix
add matrix
2019-11-25 18:19:03 +01:00
ezkrg
646575547f add matrix 2019-11-25 18:14:25 +01:00
ezkrg
a49641cdd4 add matrix 2019-11-25 18:11:04 +01:00
3 changed files with 233 additions and 84 deletions

View File

@@ -1,5 +1,8 @@
# Changelog # Changelog
## 2019-11-25 18:13:41 ([revmischa](https://github.com/revmischa))
- add matrix
## 2019-11-25 13:39:21 ([revmischa](https://github.com/revmischa)) ## 2019-11-25 13:39:21 ([revmischa](https://github.com/revmischa))
- add mastodon - add mastodon

View File

@@ -1,142 +1,254 @@
FROM alpine:3.10 FROM alpine:3.10
ARG FACEBOOK=1 ARG BITLBEE_VERSION=3.6
ARG STEAM=1
ARG SKYPEWEB=1
ARG TELEGRAM=1
ARG HANGOUTS=1
ARG SLACK=1
ARG SIPE=1
ARG DISCORD=1
ARG ROCKETCHAT=1
ARG MASTODON=1
ENV BITLBEE_VERSION 3.6
ENV FACEBOOK_VERSION v1.2.0
ENV STEAM_VERSION a6444d2
ENV SKYPEWEB_VERSION 5d29285
ENV TELEGRAM_VERSION b101bbb
ENV HANGOUTS_VERSION 3f7d89b
ENV SLACK_VERSION 8acc4eb
ENV SIPE_VERSION upstream/1.23.3
ENV DISCORD_VERSION aa0bbf2
ENV ROCKETCHAT_VERSION 826990b
ENV MASTODON_VERSION 83dee0b
RUN addgroup -g 101 -S bitlbee \ RUN addgroup -g 101 -S bitlbee \
&& adduser -u 101 -D -S -G bitlbee bitlbee \ && adduser -u 101 -D -S -G bitlbee bitlbee \
&& apk add --no-cache --update tzdata \ && apk add --no-cache --update \
libpurple \ tzdata \
bash \
glib \
libssl1.1 \
libpurple \
libpurple-xmpp \ libpurple-xmpp \
libpurple-oscar \ libpurple-oscar \
libpurple-bonjour \ libpurple-bonjour \
json-glib \
libgcrypt \
libssl1.1 \
libcrypto1.1 \
gettext \
libwebp \
glib \
protobuf-c \
discount-libs \
libpng \
bash \
&& apk add --no-cache --update --virtual .build-dependencies \ && apk add --no-cache --update --virtual .build-dependencies \
build-base \
git \ git \
make \
autoconf \
automake \
libtool \
gcc \
g++ \
json-glib-dev \
libgcrypt-dev \
openssl-dev \
pidgin-dev \
libwebp-dev \
glib-dev \ glib-dev \
protobuf-c-dev \ openssl-dev \
mercurial \ python2 \
libxml2-dev \ pidgin-dev \
discount-dev \
libpng-dev \
&& cd /tmp \ && cd /tmp \
&& git clone https://github.com/bitlbee/bitlbee.git \ && git clone -n https://github.com/bitlbee/bitlbee.git \
&& cd bitlbee \ && cd bitlbee \
&& git checkout ${BITLBEE_VERSION} \ && git checkout ${BITLBEE_VERSION} \
&& ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --purple=1 --ssl=openssl --prefix=/usr --etcdir=/etc/bitlbee \ && ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --purple=1 --ssl=openssl --prefix=/usr --etcdir=/etc/bitlbee \
&& make \ && make \
&& make install \ && make install \
&& make install-dev \ && make install-dev \
&& if [ ${FACEBOOK} -eq 1 ]; then cd /tmp \ && make install-etc \
&& git clone https://github.com/bitlbee/bitlbee-facebook.git \ && strip /usr/sbin/bitlbee \
&& rm -rf /tmp/* \
&& apk del .build-dependencies
ARG FACEBOOK=1
ARG FACEBOOK_VERSION=v1.2.0
RUN if [ ${FACEBOOK} -eq 1 ]; then cd /tmp \
&& apk add --no-cache --update \
json-glib \
&& apk add --no-cache --update --virtual .build-dependencies \
build-base \
git \
autoconf \
automake \
libtool \
glib-dev \
json-glib-dev \
&& git clone -n https://github.com/bitlbee/bitlbee-facebook.git \
&& cd bitlbee-facebook \ && cd bitlbee-facebook \
&& git checkout ${FACEBOOK_VERSION} \ && git checkout ${FACEBOOK_VERSION} \
&& ./autogen.sh \ && ./autogen.sh --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/bitlbee/facebook.so; fi \ && strip /usr/lib/bitlbee/facebook.so \
&& if [ ${STEAM} -eq 1 ]; then cd /tmp \ && rm -rf /tmp/* \
&& git clone https://github.com/bitlbee/bitlbee-steam.git \ && apk del .build-dependencies; fi
ARG STEAM=1
ARG STEAM_VERSION=a6444d2
RUN if [ ${STEAM} -eq 1 ]; then cd /tmp \
&& apk add --no-cache --update \
libgcrypt \
&& apk add --no-cache --update --virtual .build-dependencies \
build-base \
git \
autoconf \
automake \
libtool \
libgcrypt-dev \
glib-dev \
&& git clone -n https://github.com/bitlbee/bitlbee-steam.git \
&& cd bitlbee-steam \ && cd bitlbee-steam \
&& git checkout ${STEAM_VERSION} \ && git checkout ${STEAM_VERSION} \
&& ./autogen.sh --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl \ && ./autogen.sh --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/bitlbee/steam.so; fi \ && strip /usr/lib/bitlbee/steam.so \
&& if [ ${SKYPEWEB} -eq 1 ]; then cd /tmp \ && rm -rf /tmp/* \
&& git clone git://github.com/EionRobb/skype4pidgin.git \ && apk del .build-dependencies; fi
&& cd skype4pidgin/skypeweb \
ARG SKYPEWEB=1
ARG SKYPEWEB_VERSION=5d29285
RUN if [ ${SKYPEWEB} -eq 1 ]; then cd /tmp \
&& apk add --no-cache --update \
json-glib \
&& apk add --no-cache --update --virtual .build-dependencies \
build-base \
git \
pidgin-dev \
json-glib-dev \
&& git clone -n https://github.com/EionRobb/skype4pidgin.git \
&& cd skype4pidgin \
&& git checkout ${SKYPEWEB_VERSION} \ && git checkout ${SKYPEWEB_VERSION} \
&& cd skypeweb \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/purple-2/libskypeweb.so; fi \ && strip /usr/lib/purple-2/libskypeweb.so \
&& if [ ${TELEGRAM} -eq 1 ]; then cd /tmp \ && rm -rf /tmp/* \
&& git clone --recursive https://github.com/majn/telegram-purple \ && apk del .build-dependencies; fi
ARG TELEGRAM=1
ARG TELEGRAM_VERSION=b101bbb
RUN if [ ${TELEGRAM} -eq 1 ]; then cd /tmp \
&& apk add --no-cache --update \
libgcrypt \
zlib \
libwebp \
libpng \
&& apk add --no-cache --update --virtual .build-dependencies \
build-base \
git \
libgcrypt-dev \
zlib-dev \
pidgin-dev \
libwebp-dev \
libpng-dev \
&& git clone -n https://github.com/majn/telegram-purple \
&& cd telegram-purple \ && cd telegram-purple \
&& git checkout ${TELEGRAM_VERSION} \ && git checkout ${TELEGRAM_VERSION} \
&& git submodule update --init --recursive \
&& ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl \ && ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/purple-2/telegram-purple.so; fi \ && strip /usr/lib/purple-2/telegram-purple.so \
&& if [ ${HANGOUTS} -eq 1 ]; then cd /tmp \ && rm -rf /tmp/* \
&& apk del .build-dependencies; fi
ARG HANGOUTS=1
ARG HANGOUTS_VERSION=3f7d89b
RUN if [ ${HANGOUTS} -eq 1 ]; then cd /tmp \
&& apk add --no-cache --update \
protobuf-c \
json-glib \
&& apk add --no-cache --update --virtual .build-dependencies \
build-base \
mercurial \
pidgin-dev \
protobuf-c-dev \
json-glib-dev \
&& hg clone https://bitbucket.org/EionRobb/purple-hangouts -r ${HANGOUTS_VERSION} \ && hg clone https://bitbucket.org/EionRobb/purple-hangouts -r ${HANGOUTS_VERSION} \
&& cd purple-hangouts \ && cd purple-hangouts \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/purple-2/libhangouts.so; fi \ && strip /usr/lib/purple-2/libhangouts.so \
&& if [ ${SLACK} -eq 1 ]; then cd /tmp \ && rm -rf /tmp/* \
&& git clone https://github.com/dylex/slack-libpurple.git \ && apk del .build-dependencies; fi
ARG SLACK=1
ARG SLACK_VERSION=8acc4eb
RUN if [ ${SLACK} -eq 1 ]; then cd /tmp \
&& apk add --no-cache --update --virtual .build-dependencies \
build-base \
git \
pidgin-dev \
glib-dev \
&& git clone -n https://github.com/dylex/slack-libpurple.git \
&& cd slack-libpurple \ && cd slack-libpurple \
&& git checkout ${SLACK_VERSION} \ && git checkout ${SLACK_VERSION} \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/purple-2/libslack.so; fi \ && strip /usr/lib/purple-2/libslack.so \
&& if [ ${SIPE} -eq 1 ]; then cd /tmp \ && rm -rf /tmp/* \
&& git clone https://github.com/tieto/sipe.git \ && apk del .build-dependencies; fi
ARG SIPE=1
ARG SIPE_VERSION=upstream/1.23.3
RUN if [ ${SIPE} -eq 1 ]; then cd /tmp \
&& apk add --no-cache --update --virtual .build-dependencies \
build-base \
git \
libtool \
glib-dev \
intltool \
automake \
autoconf \
openssl-dev \
libxml2-dev \
pidgin-dev \
&& git clone -n https://github.com/tieto/sipe.git \
&& cd sipe \ && cd sipe \
&& git checkout ${SIPE_VERSION} \ && git checkout ${SIPE_VERSION} \
&& ./autogen.sh \ && ./autogen.sh \
&& ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --prefix=/usr \ && ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --prefix=/usr \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/purple-2/libsipe.so; fi \ && strip /usr/lib/purple-2/libsipe.so \
&& if [ ${DISCORD} -eq 1 ]; then cd /tmp \ && rm -rf /tmp/* \
&& git clone https://github.com/sm00th/bitlbee-discord.git \ && apk del .build-dependencies; fi
ARG DISCORD=1
ARG DISCORD_VERSION=aa0bbf2
RUN if [ ${DISCORD} -eq 1 ]; then cd /tmp \
&& apk add --no-cache --update --virtual .build-dependencies \
build-base \
git \
autoconf \
automake \
libtool \
glib-dev \
&& git clone -n https://github.com/sm00th/bitlbee-discord.git \
&& cd bitlbee-discord \ && cd bitlbee-discord \
&& git checkout ${DISCORD_VERSION} \ && git checkout ${DISCORD_VERSION} \
&& ./autogen.sh \ && ./autogen.sh \
&& ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --prefix=/usr \ && ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --prefix=/usr \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/bitlbee/discord.so; fi \ && strip /usr/lib/bitlbee/discord.so \
&& if [ ${ROCKETCHAT} -eq 1 ]; then cd /tmp \ && rm -rf /tmp/* \
&& apk del .build-dependencies; fi
ARG ROCKETCHAT=1
ARG ROCKETCHAT_VERSION=826990b
RUN if [ ${ROCKETCHAT} -eq 1 ]; then cd /tmp \
&& apk add --no-cache --update \
discount \
json-glib \
&& apk add --no-cache --update --virtual .build-dependencies \
build-base \
mercurial \
pidgin-dev \
json-glib-dev \
discount-dev \
&& hg clone https://bitbucket.org/EionRobb/purple-rocketchat -r ${ROCKETCHAT_VERSION} \ && hg clone https://bitbucket.org/EionRobb/purple-rocketchat -r ${ROCKETCHAT_VERSION} \
&& cd purple-rocketchat \ && cd purple-rocketchat \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/purple-2/librocketchat.so; fi \ && strip /usr/lib/purple-2/librocketchat.so \
&& if [ ${MASTODON} -eq 1 ]; then cd /tmp \ && rm -rf /tmp/* \
&& apk del .build-dependencies; fi
ARG MASTODON=1
ARG MASTODON_VERSION=83dee0b
RUN if [ ${MASTODON} -eq 1 ]; then cd /tmp \
&& apk add --no-cache --update --virtual .build-dependencies \
build-base \
git \
autoconf \
automake \
libtool \
glib-dev \
&& git clone -n https://github.com/kensanata/bitlbee-mastodon \ && git clone -n https://github.com/kensanata/bitlbee-mastodon \
&& cd bitlbee-mastodon \ && cd bitlbee-mastodon \
&& git checkout ${MASTODON_VERSION} \ && git checkout ${MASTODON_VERSION} \
@@ -144,11 +256,44 @@ RUN addgroup -g 101 -S bitlbee \
&& ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl \ && ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/bitlbee/mastodon.so; fi \ && strip /usr/lib/bitlbee/mastodon.so \
&& rm -rf /tmp/* \ && rm -rf /tmp/* \
&& rm -rf /usr/include/bitlbee \ && apk del .build-dependencies; fi
&& rm -f /usr/lib/pkgconfig/bitlbee.pc \
&& apk del .build-dependencies ARG MATRIX=1
ARG OLM_VERSION=3.1.4
ARG MATRIX_VERSION=4494ba2
RUN if [ ${MATRIX} -eq 1 ]; then cd /tmp \
&& apk add --no-cache --update \
sqlite \
http-parser \
libgcrypt \
json-glib \
&& apk add --no-cache --update --virtual .build-dependencies \
build-base \
git \
libgcrypt-dev \
pidgin-dev \
json-glib-dev \
glib-dev \
sqlite-dev \
http-parser-dev \
&& git clone -n https://gitlab.matrix.org/matrix-org/olm.git \
&& cd olm \
&& git checkout ${OLM_VERSION} \
&& make \
&& make install \
&& strip /usr/local/lib/libolm.so.${OLM_VERSION} \
&& cd /tmp \
&& git clone -n https://github.com/matrix-org/purple-matrix \
&& cd purple-matrix \
&& git checkout ${MATRIX_VERSION} \
&& make \
&& make install \
&& strip /usr/lib/purple-2/libmatrix.so \
&& rm -rf /tmp/* \
&& apk del .build-dependencies; fi
EXPOSE 6667 EXPOSE 6667

View File

@@ -11,6 +11,7 @@ This docker image includes bitlbee with a bunch of useful plugins:
- [discord](https://github.com/sm00th/bitlbee-discord) - [discord](https://github.com/sm00th/bitlbee-discord)
- [rocket.chat](https://bitbucket.org/EionRobb/purple-rocketchat) - [rocket.chat](https://bitbucket.org/EionRobb/purple-rocketchat)
- [mastodon](https://github.com/kensanata/bitlbee-mastodon) - [mastodon](https://github.com/kensanata/bitlbee-mastodon)
- [matrix](https://github.com/matrix-org/purple-matrix)
The most significant being the [libpurple Slack plugin](https://github.com/dylex/slack-libpurple). As Slack is turning off its IRC gateway on May 15 2018, now is the time to spin up your own docker image and start using bitlbee instead. The most significant being the [libpurple Slack plugin](https://github.com/dylex/slack-libpurple). As Slack is turning off its IRC gateway on May 15 2018, now is the time to spin up your own docker image and start using bitlbee instead.