3 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

View File

@@ -1,150 +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
ARG MATRIX=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
ENV OLM_VERSION 3.1.4
ENV MATRIX_VERSION 4494ba2
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 \
sqlite \
http-parser \
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 \
sqlite-dev \
http-parser-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 \
&& make install-etc \
&& strip /usr/sbin/bitlbee \ && strip /usr/sbin/bitlbee \
&& if [ ${FACEBOOK} -eq 1 ]; then cd /tmp \ && rm -rf /tmp/* \
&& git clone https://github.com/bitlbee/bitlbee-facebook.git \ && 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} \
@@ -152,8 +256,29 @@ 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 \
&& if [ ${MATRIX} -eq 1 ]; then cd /tmp \ && rm -rf /tmp/* \
&& apk del .build-dependencies; fi
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 \ && git clone -n https://gitlab.matrix.org/matrix-org/olm.git \
&& cd olm \ && cd olm \
&& git checkout ${OLM_VERSION} \ && git checkout ${OLM_VERSION} \
@@ -166,11 +291,9 @@ RUN addgroup -g 101 -S bitlbee \
&& git checkout ${MATRIX_VERSION} \ && git checkout ${MATRIX_VERSION} \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/purple-2/libmatrix.so; fi \ && strip /usr/lib/purple-2/libmatrix.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
EXPOSE 6667 EXPOSE 6667