From c0a9fea085e7d79ac8a3cabd9a0be9b4b7097c8d Mon Sep 17 00:00:00 2001 From: ezkrg Date: Sat, 18 Sep 2021 22:04:07 +0200 Subject: [PATCH 1/7] try using whatsapp --- Dockerfile | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Dockerfile b/Dockerfile index a38ad0c..a6e7208 100644 --- a/Dockerfile +++ b/Dockerfile @@ -327,6 +327,27 @@ RUN echo ICYQUE=${ICYQUE} > /tmp/status \ # --- +FROM bitlbee-build as whatsapp-build + +ARG WHATSAPP=1 +ARG WHATSAPP_VERSION=438fae6 + +RUN echo WHATSAPP=${WHATSAPP} > /tmp/status \ + && if [ ${WHATSAPP} -eq 1 ]; \ + then cd /tmp \ + && apk add --update --no-cache go \ + && git clone -n https://github.com/hoehermann/purple-gowhatsapp.git \ + && cd purple-gowhatsapp \ + && git checkout ${WHATSAPP_VERSION} \ + && make \ + && make install \ + && strip /usr/lib/purple-2/libgowhatsapp.so; \ + else mkdir -p /usr/lib/purple-2 \ + && ln -sf /nowhere /usr/lib/purple-2/libgowhatsapp.so; \ + fi + +# --- + FROM alpine:${ALPINE_VERSION} as bitlbee-plugins COPY --from=bitlbee-build /usr/sbin/bitlbee /tmp/usr/sbin/bitlbee @@ -388,6 +409,9 @@ COPY --from=signald-build /tmp/status /tmp/plugin/signald COPY --from=icyque-build /usr/lib/purple-2/libicyque.so /tmp/usr/lib/purple-2/libicyque.so COPY --from=icyque-build /tmp/status /tmp/plugin/icyque +COPY --from=whatsapp-build /usr/lib/purple-2/libgowhatsapp.so /tmp/usr/lib/purple-2/libgowhatsapp.so +COPY --from=whatsapp-build /tmp/status /tmp/plugin/whatsapp + RUN apk add --update --no-cache findutils \ && find /tmp/ -type f -empty -delete \ && find /tmp/ -type d -empty -delete \ From 5de627e3d096d81ca54429a8aedd457dd1d93d4a Mon Sep 17 00:00:00 2001 From: ezkrg Date: Tue, 21 Sep 2021 14:46:49 +0200 Subject: [PATCH 2/7] create debian build and add whatsapp --- .drone.yml | 39 +++- Dockerfile.debian | 468 ++++++++++++++++++++++++++++++++++++++++++++++ README.md | 1 + 3 files changed, 504 insertions(+), 4 deletions(-) create mode 100644 Dockerfile.debian diff --git a/.drone.yml b/.drone.yml index ffe08cc..eaef8d1 100644 --- a/.drone.yml +++ b/.drone.yml @@ -44,6 +44,40 @@ steps: event: - tag + - name: debian-test + image: ezkrg/buildx:latest + environment: + USER: + from_secret: DHU + PASSWORD: + from_secret: DHP + DOCKER_HOST: tcp://docker:2375 + commands: + - sleep 5 + - docker run --rm --privileged tonistiigi/binfmt --install all + - docker buildx create --use --name docker --node docker --platform linux/amd64,linux/arm64,linux/armhf --driver docker-container $DOCKER_HOST + - echo $PASSWORD | docker login --username $USER --password-stdin + - docker buildx build --push --cache-from ezkrg/bitlbee-libpurple:debian-cache --cache-to ezkrg/bitlbee-libpurple:debian-cache -t ezkrg/bitlbee-libpurple:debian-test --platform linux/amd64,linux/arm64,linux/armhf -f Dockerfile.debian . + + - name: debian-release + image: docker:stable + environment: + USER: + from_secret: DHU + PASSWORD: + from_secret: DHP + DOCKER_HOST: tcp://docker:2375 + commands: + - echo $PASSWORD | docker login --username $USER --password-stdin + - docker pull ezkrg/bitlbee-libpurple:debian-test + - docker tag ezkrg/bitlbee-libpurple:debian-test ezkrg/bitlbee-libpurple:debian-$DRONE_TAG + - docker push ezkrg/bitlbee-libpurple:debian-$DRONE_TAG + - docker tag ezkrg/bitlbee-libpurple:debian-test ezkrg/bitlbee-libpurple:debian-latest + - docker push ezkrg/bitlbee-libpurple:debian-latest + when: + event: + - tag + --- kind: pipeline type: docker @@ -67,11 +101,8 @@ steps: [Pipeline #{{build.number}} has {{#success build.status}}passed{{else}}failed{{/success}} in {{duration build.started build.finished}}]({{build.link}}) {{#success build.status}}✅{{else}}❌{{/success}} *Branch:* [{{commit.branch}}](https://github.com/{{repo.namespace}}/{{repo.name}}/commits/{{commit.branch}}) *Commit:* [{{commit.message}}]({{commit.link}}) -depends_on: - - docker - --- kind: signature -hmac: 4d16b8fe931c702b0383aaacf4b3dfb28c60b69577f65cd07981a9d1eedbb730 +hmac: 96a9cb6a778f2ba772a1e145cf60384d1104788eb868195de42b902fe0ca1103 ... diff --git a/Dockerfile.debian b/Dockerfile.debian new file mode 100644 index 0000000..f58d087 --- /dev/null +++ b/Dockerfile.debian @@ -0,0 +1,468 @@ +FROM debian:bullseye-slim as base-image + +FROM base-image as bitlbee-build + +ARG BITLBEE_VERSION=3.6 + +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + build-essential git python autoconf automake libtool intltool flex libglib2.0-dev \ + libssl-dev libpurple-dev libjson-glib-dev libgcrypt20-dev libotr5-dev \ + && cd /tmp \ + && git clone -n https://github.com/bitlbee/bitlbee.git \ + && cd bitlbee \ + && git checkout ${BITLBEE_VERSION} \ + && ./configure --purple=1 --otr=plugin --ssl=openssl --prefix=/usr --etcdir=/etc/bitlbee \ + && make \ + && make install-bin \ + && make install-doc \ + && make install-dev \ + && make install-etc \ + && strip /usr/sbin/bitlbee \ + && touch /nowhere + +# --- + +FROM bitlbee-build as otr-install + +ARG OTR=1 + +RUN echo OTR=${OTR} > /tmp/status \ + && if [ ${OTR} -eq 1 ]; \ + then cd /tmp/bitlbee \ + && make install-plugin-otr; \ + else mkdir -p /usr/lib/bitlbee \ + && ln -sf /nowhere /usr/lib/bitlbee/otr.so; \ + fi + +# --- + +FROM bitlbee-build as facebook-build + +ARG FACEBOOK=1 +ARG FACEBOOK_VERSION=v1.2.2 + +RUN echo FACEBOOK=${FACEBOOK} > /tmp/status \ + && if [ ${FACEBOOK} -eq 1 ]; \ + then cd /tmp \ + && git clone -n https://github.com/bitlbee/bitlbee-facebook.git \ + && cd bitlbee-facebook \ + && git checkout ${FACEBOOK_VERSION} \ + && ./autogen.sh \ + && make \ + && make install \ + && strip /usr/lib/bitlbee/facebook.so; \ + else mkdir -p /usr/lib/bitlbee \ + && ln -sf /nowhere /usr/lib/bitlbee/facebook.so \ + && ln -sf /nowhere /usr/lib/bitlbee/facebook.la; \ + fi + +# --- + +FROM bitlbee-build as steam-build + +ARG STEAM=1 +ARG STEAM_VERSION=a6444d2 + +RUN echo STEAM=${STEAM} > /tmp/status \ + && if [ ${STEAM} -eq 1 ]; \ + then cd /tmp \ + && git clone -n https://github.com/bitlbee/bitlbee-steam.git \ + && cd bitlbee-steam \ + && git checkout ${STEAM_VERSION} \ + && ./autogen.sh \ + && make \ + && make install \ + && strip /usr/lib/bitlbee/steam.so; \ + else mkdir -p /usr/lib/bitlbee \ + && ln -sf /nowhere /usr/lib/bitlbee/steam.so \ + && ln -sf /nowhere /usr/lib/bitlbee/steam.la; \ + fi + +# --- + +FROM bitlbee-build as skypeweb-build + +ARG SKYPEWEB=1 +ARG SKYPEWEB_VERSION=c4906b8 + +RUN echo SKYPEWEB=${SKYPEWEB} > /tmp/status \ + && if [ ${SKYPEWEB} -eq 1 ]; \ + then cd /tmp \ + && git clone -n https://github.com/EionRobb/skype4pidgin.git \ + && cd skype4pidgin \ + && git checkout ${SKYPEWEB_VERSION} \ + && cd skypeweb \ + && make \ + && make install \ + && strip /usr/lib/purple-2/libskypeweb.so; \ + else mkdir -p /usr/lib/purple-2 \ + && ln -sf /nowhere /usr/lib/purple-2/libskypeweb.so; \ + fi + +# --- + +FROM bitlbee-build as telegram-build + +ARG TELEGRAM=1 +ARG TELEGRAM_VERSION=v1.4.3 + +RUN echo TELEGRAM=${TELEGRAM} > /tmp/status \ + && if [ ${TELEGRAM} -eq 1 ]; \ + then cd /tmp \ + && apt-get update \ + && apt-get install -y --no-install-recommends zlib1g-dev libwebp-dev libpng-dev \ + && git clone -n https://github.com/majn/telegram-purple \ + && cd telegram-purple \ + && git checkout ${TELEGRAM_VERSION} \ + && git submodule update --init --recursive \ + && ./configure \ + && make \ + && make install \ + && strip /usr/lib/purple-2/telegram-purple.so; \ + else mkdir -p /usr/lib/purple-2 \ + && ln -sf /nowhere /usr/lib/purple-2/telegram-purple.so \ + && ln -sf /nowhere /etc/telegram-purple \ + && ln -sf /nowhere /usr/local/share/locale; \ + fi + +# --- + +FROM bitlbee-build as hangouts-build + +ARG HANGOUTS=1 +ARG HANGOUTS_VERSION=e8c8088 + +RUN echo HANGOUTS=${HANGOUTS} > /tmp/status \ + && if [ ${HANGOUTS} -eq 1 ]; \ + then cd /tmp \ + && apt-get update \ + && apt-get install -y --no-install-recommends libprotobuf-c-dev protobuf-c-compiler \ + && git clone -n https://github.com/EionRobb/purple-hangouts.git \ + && cd purple-hangouts \ + && git checkout ${HANGOUTS_VERSION} \ + && make \ + && make install \ + && strip /usr/lib/purple-2/libhangouts.so; \ + else mkdir -p /usr/lib/purple-2 \ + && ln -sf /nowhere /usr/lib/purple-2/libhangouts.so; \ + fi + +# --- + +FROM bitlbee-build as slack-build + +ARG SLACK=1 +ARG SLACK_VERSION=e0c73ae + +SHELL [ "/bin/bash", "-c" ] + +RUN echo SLACK=${SLACK} > /tmp/status \ + && if [ ${SLACK} -eq 1 ]; \ + then cd /tmp \ + && git clone -n https://github.com/dylex/slack-libpurple.git \ + && cd slack-libpurple \ + && git checkout ${SLACK_VERSION} \ + && make \ + && install -d /usr/share/pixmaps/pidgin/protocols/{16,22,48} \ + && make install \ + && strip /usr/lib/purple-2/libslack.so; \ + else mkdir -p /usr/lib/purple-2 \ + && ln -sf /nowhere /usr/lib/purple-2/libslack.so; \ + fi + +# --- + +FROM bitlbee-build as sipe-build + +ARG SIPE=1 +ARG SIPE_VERSION=1.25.0 + +RUN echo SIPE=${SIPE} > /tmp/status \ + && if [ ${SIPE} -eq 1 ]; \ + then cd /tmp \ + && apt-get update \ + && apt-get install -y --no-install-recommends libxml2-dev autopoint \ + && git clone -n https://repo.or.cz/siplcs.git \ + && cd siplcs \ + && git checkout ${SIPE_VERSION} \ + && ./autogen.sh \ + && ./configure --prefix=/usr \ + && make \ + && make install \ + && strip /usr/lib/purple-2/libsipe.so; \ + else mkdir -p /usr/lib/purple-2 \ + && ln -sf /nowhere /usr/lib/purple-2/libsipe.so \ + && ln -sf /nowhere /usr/lib/purple-2/libsipe.la \ + && ln -sf /nowhere /usr/share/locale; \ + fi + +# --- + +FROM bitlbee-build as discord-build + +ARG DISCORD=1 +ARG DISCORD_VERSION=0.4.3 + +RUN echo DISCORD=${DISCORD} > /tmp/status \ + && if [ ${DISCORD} -eq 1 ]; \ + then cd /tmp \ + && git clone -n https://github.com/sm00th/bitlbee-discord.git \ + && cd bitlbee-discord \ + && git checkout ${DISCORD_VERSION} \ + && ./autogen.sh \ + && ./configure --prefix=/usr \ + && make \ + && make install \ + && strip /usr/lib/bitlbee/discord.so; \ + else mkdir -p /usr/lib/bitlbee \ + && ln -sf /nowhere /usr/lib/bitlbee/discord.so \ + && ln -sf /nowhere /usr/lib/bitlbee/discord.la \ + && ln -sf /nowhere /usr/share/bitlbee/discord-help.txt; \ + fi + +# --- + +FROM bitlbee-build as rocketchat-build + +ARG ROCKETCHAT=1 +ARG ROCKETCHAT_VERSION=62090bc + +RUN echo ROCKETCHAT=${ROCKETCHAT} > /tmp/status \ + && if [ ${ROCKETCHAT} -eq 1 ]; \ + then cd /tmp \ + && apt-get update \ + && apt-get install -y --no-install-recommends libmarkdown2-dev \ + && git clone -n https://github.com/EionRobb/purple-rocketchat.git \ + && cd purple-rocketchat \ + && git checkout ${ROCKETCHAT_VERSION} \ + && make \ + && make install \ + && strip /usr/lib/purple-2/librocketchat.so; \ + else mkdir -p /usr/lib/purple-2 \ + && ln -sf /nowhere /usr/lib/purple-2/librocketchat.so; \ + fi + +# --- + +FROM bitlbee-build as mastodon-build + +ARG MASTODON=1 +ARG MASTODON_VERSION=v1.4.4 + +RUN echo MASTODON=${MASTODON} > /tmp/status \ + && if [ ${MASTODON} -eq 1 ]; \ + then cd /tmp \ + && git clone -n https://github.com/kensanata/bitlbee-mastodon \ + && cd bitlbee-mastodon \ + && git checkout ${MASTODON_VERSION} \ + && sh ./autogen.sh \ + && ./configure \ + && make \ + && make install \ + && strip /usr/lib/bitlbee/mastodon.so; \ + else mkdir -p /usr/lib/bitlbee \ + && ln -sf /nowhere /usr/lib/bitlbee/mastodon.so \ + && ln -sf /nowhere /usr/lib/bitlbee/mastodon.la \ + && ln -sf /nowhere /usr/share/bitlbee/mastodon-help.txt; \ + fi + +# --- + +FROM bitlbee-build as matrix-build + +ARG MATRIX=1 +ARG MATRIX_VERSION=88f9558 + +SHELL [ "/bin/bash", "-c" ] + +COPY matrix-e2e.c.patch /tmp/matrix-e2e.c.patch + +RUN echo MATRIX=${MATRIX} > /tmp/status \ + && if [ ${MATRIX} -eq 1 ]; \ + then cd /tmp \ + && apt-get update \ + && apt-get install -y --no-install-recommends libsqlite3-dev libhttp-parser-dev libolm-dev patch \ + && git clone -n https://github.com/matrix-org/purple-matrix \ + && cd purple-matrix \ + && git checkout ${MATRIX_VERSION} \ + && if [ $(uname -m) == "armv7l" ]; then patch < ../matrix-e2e.c.patch; fi \ + && make \ + && make install \ + && strip /usr/lib/purple-2/libmatrix.so; \ + else mkdir -p /usr/lib/purple-2 \ + && ln -sf /nowhere /usr/lib/purple-2/libmatrix.so; \ + fi + +# --- + +FROM bitlbee-build as signald-build + +ARG SIGNAL=1 +ARG SIGNAL_VERSION=v0.8.1 + +RUN echo SIGNAL=${SIGNAL} > /tmp/status \ + && if [ ${SIGNAL} -eq 1 ]; \ + then cd /tmp \ + && apt-get update \ + && apt-get install -y --no-install-recommends libmagic-dev \ + && git clone -n https://github.com/hoehermann/libpurple-signald \ + && cd libpurple-signald \ + && git checkout ${SIGNAL_VERSION} \ + && git submodule init \ + && git submodule update \ + && make SUPPORT_EXTERNAL_ATTACHMENTS=1 \ + && make install \ + && strip /usr/lib/purple-2/libsignald.so; \ + else mkdir -p /usr/lib/purple-2 \ + && ln -sf /nowhere /usr/lib/purple-2/libsignald.so; \ + fi + +# --- + +FROM bitlbee-build as icyque-build + +ARG ICYQUE=1 +ARG ICYQUE_VERSION=4fc08a0 + +RUN echo ICYQUE=${ICYQUE} > /tmp/status \ + && if [ ${ICYQUE} -eq 1 ]; \ + then cd /tmp \ + && git clone -n https://github.com/EionRobb/icyque.git \ + && cd icyque \ + && git checkout ${ICYQUE_VERSION} \ + && make \ + && make install \ + && strip /usr/lib/purple-2/libicyque.so; \ + else mkdir -p /usr/lib/purple-2 \ + && ln -sf /nowhere /usr/lib/purple-2/libicyque.so; \ + fi + +# --- + +FROM bitlbee-build as whatsapp-build + +ARG WHATSAPP=1 +ARG WHATSAPP_VERSION=438fae6 + +RUN echo WHATSAPP=${WHATSAPP} > /tmp/status \ + && if [ ${WHATSAPP} -eq 1 ]; \ + then cd /tmp \ + && apt-get update \ + && apt-get install -y --no-install-recommends golang-go \ + && git clone -n https://github.com/hoehermann/purple-gowhatsapp.git \ + && cd purple-gowhatsapp \ + && git checkout ${WHATSAPP_VERSION} \ + && make \ + && make install \ + && strip /usr/lib/purple-2/libgowhatsapp.so; \ + else mkdir -p /usr/lib/purple-2 \ + && ln -sf /nowhere /usr/lib/purple-2/libgowhatsapp.so; \ + fi + +# --- + +FROM base-image as bitlbee-plugins + +COPY --from=bitlbee-build /usr/sbin/bitlbee /tmp/usr/sbin/bitlbee +COPY --from=bitlbee-build /usr/share/man/man8/bitlbee.8 /tmp/usr/share/man/man8/bitlbee.8 +COPY --from=bitlbee-build /usr/share/man/man5/bitlbee.conf.5 /tmp/usr/share/man/man5/bitlbee.conf.5 +COPY --from=bitlbee-build /usr/share/bitlbee /tmp/usr/share/bitlbee +COPY --from=bitlbee-build /usr/lib/pkgconfig/bitlbee.pc /tmp/usr/lib/pkgconfig/bitlbee.pc +COPY --from=bitlbee-build /etc/bitlbee /tmp/etc/bitlbee + +COPY --from=otr-install /usr/lib/bitlbee/otr.so /tmp/usr/lib/bitlbee/otr.so +COPY --from=otr-install /tmp/status /tmp/plugin/otr + +COPY --from=facebook-build /usr/lib/bitlbee/facebook.so /tmp/usr/lib/bitlbee/facebook.so +COPY --from=facebook-build /usr/lib/bitlbee/facebook.la /tmp/usr/lib/bitlbee/facebook.la +COPY --from=facebook-build /tmp/status /tmp/plugin/facebook + +COPY --from=steam-build /usr/lib/bitlbee/steam.so /tmp/usr/lib/bitlbee/steam.so +COPY --from=steam-build /usr/lib/bitlbee/steam.la /tmp/usr/lib/bitlbee/steam.la +COPY --from=steam-build /tmp/status /tmp/plugin/steam + +COPY --from=skypeweb-build /usr/lib/purple-2/libskypeweb.so /tmp/usr/lib/purple-2/libskypeweb.so +COPY --from=skypeweb-build /tmp/status /tmp/plugin/skypeweb + +COPY --from=telegram-build /usr/lib/purple-2/telegram-purple.so /tmp/usr/lib/purple-2/telegram-purple.so +COPY --from=telegram-build /etc/telegram-purple /tmp/etc/telegram-purple +COPY --from=telegram-build /usr/local/share/locale /tmp/usr/local/share/locale +COPY --from=telegram-build /tmp/status /tmp/plugin/telegram + +COPY --from=hangouts-build /usr/lib/purple-2/libhangouts.so /tmp/usr/lib/purple-2/libhangouts.so +COPY --from=hangouts-build /tmp/status /tmp/plugin/hangouts + +COPY --from=slack-build /usr/lib/purple-2/libslack.so /tmp/usr/lib/purple-2/libslack.so +COPY --from=slack-build /tmp/status /tmp/plugin/slack + +COPY --from=sipe-build /usr/lib/purple-2/libsipe.so /tmp/usr/lib/purple-2/libsipe.so +COPY --from=sipe-build /usr/lib/purple-2/libsipe.la /tmp/usr/lib/purple-2/libsipe.la +COPY --from=sipe-build /usr/share/locale /tmp/usr/share/locale +COPY --from=sipe-build /tmp/status /tmp/plugin/sipe + +COPY --from=discord-build /usr/lib/bitlbee/discord.so /tmp/usr/lib/bitlbee/discord.so +COPY --from=discord-build /usr/lib/bitlbee/discord.la /tmp/usr/lib/bitlbee/discord.la +COPY --from=discord-build /usr/share/bitlbee/discord-help.txt /tmp/usr/share/bitlbee/discord-help.txt +COPY --from=discord-build /tmp/status /tmp/plugin/discord + +COPY --from=rocketchat-build /usr/lib/purple-2/librocketchat.so /tmp/usr/lib/purple-2/librocketchat.so +COPY --from=rocketchat-build /tmp/status /tmp/plugin/rocketchat + +COPY --from=mastodon-build /usr/lib/bitlbee/mastodon.so /tmp/usr/lib/bitlbee/mastodon.so +COPY --from=mastodon-build /usr/lib/bitlbee/mastodon.la /tmp/usr/lib/bitlbee/mastodon.la +COPY --from=mastodon-build /usr/share/bitlbee/mastodon-help.txt /tmp/usr/share/bitlbee/mastodon-help.txt +COPY --from=mastodon-build /tmp/status /tmp/plugin/mastodon + +COPY --from=matrix-build /usr/lib/purple-2/libmatrix.so /tmp/usr/lib/purple-2/libmatrix.so +COPY --from=matrix-build /tmp/status /tmp/plugin/matrix + +COPY --from=signald-build /usr/lib/purple-2/libsignald.so /tmp/usr/lib/purple-2/libsignald.so +COPY --from=signald-build /tmp/status /tmp/plugin/signald + +COPY --from=icyque-build /usr/lib/purple-2/libicyque.so /tmp/usr/lib/purple-2/libicyque.so +COPY --from=icyque-build /tmp/status /tmp/plugin/icyque + +COPY --from=whatsapp-build /usr/lib/purple-2/libgowhatsapp.so /tmp/usr/lib/purple-2/libgowhatsapp.so +COPY --from=whatsapp-build /tmp/status /tmp/plugin/whatsapp + +RUN apt-get update \ + && apt-get install -y --no-install-recommends findutils \ + && find /tmp/ -type f -empty -delete \ + && find /tmp/ -type d -empty -delete \ + && cat /tmp/plugin/* > /tmp/plugins \ + && rm -rf /tmp/plugin + +# --- + +FROM base-image as bitlbee-libpurple + +COPY --from=bitlbee-plugins /tmp/ / + +ARG PKGS="tzdata libglib2.0-0 libssl1.1 libpurple0 libtcl8.6 libtk8.6" + +SHELL [ "/bin/bash", "-c" ] + +RUN groupadd -g 101 -r bitlbee \ + && useradd -u 101 -r -g bitlbee -m -d /var/lib/bitlbee bitlbee \ + && install -d -m 750 -o bitlbee -g bitlbee /var/lib/bitlbee \ + && source /plugins \ + && if [ ${OTR} -eq 1 ]; then PKGS="${PKGS} libotr5"; fi \ + && if [ ${FACEBOOK} -eq 1 ] || [ ${SKYPEWEB} -eq 1 ] || [ ${HANGOUTS} -eq 1 ] \ + || [ ${ROCKETCHAT} -eq 1 ] || [ ${MATRIX} -eq 1 ] || [ ${SIGNAL} -eq 1 ] \ + || [ ${ICYQUE} -eq 1 ]; then PKGS="${PKGS} libjson-glib-1.0-0"; fi \ + && if [ ${STEAM} -eq 1 ] || [ ${TELEGRAM} -eq 1 ] || [ ${MATRIX} -eq 1 ]; then PKGS="${PKGS} libgcrypt20"; fi \ + && if [ ${TELEGRAM} -eq 1 ]; then PKGS="${PKGS} zlib1g libwebp6 libpng16-16"; fi \ + && if [ ${HANGOUTS} -eq 1 ] || [ ${SIGNAL} -eq 1 ]; then PKGS="${PKGS} libprotobuf-c1"; fi \ + && if [ ${SIGNAL} -eq 1 ]; then PKGS="${PKGS} libmagic1"; fi \ + && if [ ${SIPE} -eq 1 ]; then PKGS="${PKGS} libxml2"; fi \ + && if [ ${ROCKETCHAT} -eq 1 ]; then PKGS="${PKGS} libmarkdown2"; fi \ + && if [ ${MATRIX} -eq 1 ]; then PKGS="${PKGS} libsqlite3-0 libhttp-parser2.9 libolm2"; fi \ + && apt-get update \ + && apt-get install -y --no-install-recommends ${PKGS} \ + && apt-get clean \ + && rm /plugins + +EXPOSE 6667 + +CMD [ "/usr/sbin/bitlbee", "-F", "-n", "-u", "bitlbee" ] diff --git a/README.md b/README.md index 754b4e5..9e5fb73 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,7 @@ This docker image includes bitlbee with a bunch of useful plugins: - [matrix](https://github.com/matrix-org/purple-matrix) - [signal](https://github.com/hoehermann/libpurple-signald) - [icyque](https://github.com/EionRobb/icyque) + - [whatsapp](https://github.com/hoehermann/purple-gowhatsapp) (only in debian based images) 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. From 762b4db2dfcf800a15ac43763a1980f4a8c721f7 Mon Sep 17 00:00:00 2001 From: ezkrg Date: Tue, 21 Sep 2021 14:54:54 +0200 Subject: [PATCH 3/7] change cache tag --- .drone.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index eaef8d1..e1b9a4d 100644 --- a/.drone.yml +++ b/.drone.yml @@ -23,7 +23,7 @@ steps: - docker run --rm --privileged tonistiigi/binfmt --install all - docker buildx create --use --name docker --node docker --platform linux/amd64,linux/arm64,linux/armhf --driver docker-container $DOCKER_HOST - echo $PASSWORD | docker login --username $USER --password-stdin - - docker buildx build --push --cache-from ezkrg/cache:bitlbee-libpurple --cache-to ezkrg/cache:bitlbee-libpurple -t ezkrg/bitlbee-libpurple:test --platform linux/amd64,linux/arm64,linux/armhf . + - docker buildx build --push --cache-from ezkrg/bitlbee-libpurple:cache --cache-to ezkrg/bitlbee-libpurple:cache -t ezkrg/bitlbee-libpurple:test --platform linux/amd64,linux/arm64,linux/armhf . - name: release image: docker:stable @@ -103,6 +103,6 @@ steps: --- kind: signature -hmac: 96a9cb6a778f2ba772a1e145cf60384d1104788eb868195de42b902fe0ca1103 +hmac: 00e85cfab9078d3b6de85baa1e6e32cd3548c0c7f10d997d2c8bcb1f190ae3a7 ... From 5ad6b29d01f4a33c9987df5b61edddecbc5ae28b Mon Sep 17 00:00:00 2001 From: ezkrg Date: Tue, 21 Sep 2021 14:56:44 +0200 Subject: [PATCH 4/7] merge to one pipeline --- .drone.yml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/.drone.yml b/.drone.yml index e1b9a4d..65cfbb4 100644 --- a/.drone.yml +++ b/.drone.yml @@ -78,16 +78,7 @@ steps: event: - tag ---- -kind: pipeline -type: docker -name: notification - -clone: - disable: true - -steps: - - name: telegram + - name: notification image: appleboy/drone-telegram:1.3.4 failure: ignore settings: @@ -100,9 +91,13 @@ steps: *{{repo.namespace}}/{{repo.name}}* [Pipeline #{{build.number}} has {{#success build.status}}passed{{else}}failed{{/success}} in {{duration build.started build.finished}}]({{build.link}}) {{#success build.status}}✅{{else}}❌{{/success}} *Branch:* [{{commit.branch}}](https://github.com/{{repo.namespace}}/{{repo.name}}/commits/{{commit.branch}}) *Commit:* [{{commit.message}}]({{commit.link}}) + when: + status: + - success + - failure --- kind: signature -hmac: 00e85cfab9078d3b6de85baa1e6e32cd3548c0c7f10d997d2c8bcb1f190ae3a7 +hmac: 1e71b1fcd0f0cf3b5bb9742137a2897f6c9596568c7fe355e64db686cdceb4d4 ... From a8b8689093cab2f488b47c82e414e936440b74cf Mon Sep 17 00:00:00 2001 From: ezkrg Date: Tue, 21 Sep 2021 15:02:38 +0200 Subject: [PATCH 5/7] forgot that same pipeline logs zero running time --- .drone.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.drone.yml b/.drone.yml index 65cfbb4..5a25c6a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -78,6 +78,15 @@ steps: event: - tag +--- +kind: pipeline +type: docker +name: notification + +clone: + disable: true + +steps: - name: notification image: appleboy/drone-telegram:1.3.4 failure: ignore @@ -96,6 +105,9 @@ steps: - success - failure +depends_on: + - docker + --- kind: signature hmac: 1e71b1fcd0f0cf3b5bb9742137a2897f6c9596568c7fe355e64db686cdceb4d4 From dcb3c67bfd56c5fcecceabc9028e6558350f4d07 Mon Sep 17 00:00:00 2001 From: ezkrg Date: Tue, 21 Sep 2021 15:07:18 +0200 Subject: [PATCH 6/7] sign drone --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 5a25c6a..0e383e4 100644 --- a/.drone.yml +++ b/.drone.yml @@ -110,6 +110,6 @@ depends_on: --- kind: signature -hmac: 1e71b1fcd0f0cf3b5bb9742137a2897f6c9596568c7fe355e64db686cdceb4d4 +hmac: 7510d775f0f5a15c09e28e645dd8fa21151614749ce232922efc4188b98a5254 ... From 1b80fa0351345cf58def0cc857aa5c25a75f6666 Mon Sep 17 00:00:00 2001 From: ezkrg Date: Tue, 21 Sep 2021 15:10:03 +0200 Subject: [PATCH 7/7] delete whatsapp from alpine build --- Dockerfile | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/Dockerfile b/Dockerfile index a6e7208..a38ad0c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -327,27 +327,6 @@ RUN echo ICYQUE=${ICYQUE} > /tmp/status \ # --- -FROM bitlbee-build as whatsapp-build - -ARG WHATSAPP=1 -ARG WHATSAPP_VERSION=438fae6 - -RUN echo WHATSAPP=${WHATSAPP} > /tmp/status \ - && if [ ${WHATSAPP} -eq 1 ]; \ - then cd /tmp \ - && apk add --update --no-cache go \ - && git clone -n https://github.com/hoehermann/purple-gowhatsapp.git \ - && cd purple-gowhatsapp \ - && git checkout ${WHATSAPP_VERSION} \ - && make \ - && make install \ - && strip /usr/lib/purple-2/libgowhatsapp.so; \ - else mkdir -p /usr/lib/purple-2 \ - && ln -sf /nowhere /usr/lib/purple-2/libgowhatsapp.so; \ - fi - -# --- - FROM alpine:${ALPINE_VERSION} as bitlbee-plugins COPY --from=bitlbee-build /usr/sbin/bitlbee /tmp/usr/sbin/bitlbee @@ -409,9 +388,6 @@ COPY --from=signald-build /tmp/status /tmp/plugin/signald COPY --from=icyque-build /usr/lib/purple-2/libicyque.so /tmp/usr/lib/purple-2/libicyque.so COPY --from=icyque-build /tmp/status /tmp/plugin/icyque -COPY --from=whatsapp-build /usr/lib/purple-2/libgowhatsapp.so /tmp/usr/lib/purple-2/libgowhatsapp.so -COPY --from=whatsapp-build /tmp/status /tmp/plugin/whatsapp - RUN apk add --update --no-cache findutils \ && find /tmp/ -type f -empty -delete \ && find /tmp/ -type d -empty -delete \