47 Commits

Author SHA1 Message Date
Attila Szabó
739b9b94f5 Merge pull request #20 from heywoodlh/master
use updated libpurple-signal commit
2021-02-11 09:38:55 +01:00
Spencer Heywood
fd12688c5a use updated libpurple-signal commit 2021-02-10 15:54:20 -07:00
ezkrg
1dd49790c8 add signal 2020-11-04 09:28:56 +01:00
ezkrg
a6225e3596 fix signal pkg deps 2020-11-04 09:24:35 +01:00
Attila Szabó
fb6b62172b Merge pull request #17 from heywoodlh/master
added signald support
2020-11-04 08:47:44 +01:00
Spencer Heywood
5f6359f70c added signald support 2020-11-03 19:13:46 -07:00
ezkrg
ccbe7eb733 missing login in release 2020-09-25 15:27:54 +02:00
ezkrg
dfd9dca717 use older notification plugin 2020-09-25 15:08:56 +02:00
ezkrg
c5276e0bba new drone sign 2020-09-25 13:00:59 +02:00
ezkrg
12425cf333 ignore notification fail 2020-09-25 13:00:19 +02:00
ezkrg
6090882311 use since instead of duration 2020-09-25 12:58:48 +02:00
ezkrg
c8ad17326e update alpine version 2020-09-24 23:57:41 +02:00
ezkrg
31a3c73e4a update slack version 2020-09-24 23:11:09 +02:00
ezkrg
f3f279382f update skypeweb version 2020-09-24 23:08:47 +02:00
ezkrg
0b64ce98d4 fix source repos moved from bitbucket to github 2020-09-24 23:06:07 +02:00
ezkrg
44345391b8 disable clone in notification 2020-04-12 14:24:22 +02:00
ezkrg
b57d22d344 format message 2020-04-12 14:23:07 +02:00
ezkrg
ad41a804a8 speareta notification to pipeline 2020-04-12 12:27:14 +02:00
ezkrg
88bfdeb2bc fix telegram message 2020-04-12 11:50:56 +02:00
ezkrg
2b06fc990c add telegram notification 2020-04-11 19:07:05 +02:00
ezkrg
c19df4b246 use alpine 3.11 2020-04-11 16:23:37 +02:00
ezkrg
537066feb6 fix pkgs selection 2020-04-11 13:45:02 +02:00
ezkrg
892055fa94 remove unnecessary build flags 2020-04-10 10:38:30 +02:00
ezkrg
fb985f79fd use buildx 2020-04-09 20:34:26 +02:00
ezkrg
f5e2479643 otr 2020-04-09 20:30:04 +02:00
ezkrg
bdfebad796 install packages only for enabled plugins 2020-04-09 19:38:56 +02:00
ezkrg
df8fa001df run docker without tls 2020-04-09 18:06:52 +02:00
ezkrg
1adcf522e6 the forgotten otr plugin 2020-04-09 08:06:57 +02:00
ezkrg
cfef76d05a Merge pull request #16 from ezkrg/multi-stage
Use multi-stage and buildkit to speed up builds
2020-04-08 12:37:40 +02:00
ezkrg
2b5562c56f use buildkit 2020-04-08 11:55:16 +02:00
ezkrg
b99250393f use multi-stage instead of single-stage 2020-04-08 11:54:55 +02:00
ezkrg
cc76bf6720 ident steps 2020-04-07 18:44:32 +02:00
ezkrg
de3d1ebc7c update changelog 2020-04-07 15:33:31 +02:00
ezkrg
f7d5ec7109 upgrade matrix version 2020-04-06 10:19:31 +02:00
ezkrg
58d60ca91e upgrade mastodon version 2020-04-06 10:16:46 +02:00
ezkrg
9ac2d40fbb upgrade discord version 2020-04-06 07:54:04 +02:00
ezkrg
76ccab317c update changelog 2020-04-06 07:38:52 +02:00
ezkrg
4adc3ae460 add flex 2020-04-05 14:01:58 +02:00
ezkrg
5e208e231e fix clone dir name 2020-04-05 13:21:43 +02:00
ezkrg
931afdc586 upgrade sipe version and change clone url 2020-04-05 13:03:34 +02:00
ezkrg
2a98d409b1 upgrade slack version 2020-04-05 11:53:22 +02:00
ezkrg
9ca7f4958d upgrade telegram version 2020-04-05 10:58:00 +02:00
ezkrg
04c678870f sign drone config 2020-01-13 12:53:28 +01:00
ezkrg
4befd197a9 add dron config 2020-01-13 12:48:08 +01:00
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
4 changed files with 490 additions and 170 deletions

76
.drone.yml Normal file
View File

@@ -0,0 +1,76 @@
---
kind: pipeline
type: docker
name: docker
steps:
- name: docker
image: docker:stable-dind
privileged: true
detach: true
command: [ "dockerd", "--host=tcp://0.0.0.0:2375" ]
- name: test
image: ezkrg/buildx:latest
environment:
USER:
from_secret: DHU
PASSWORD:
from_secret: DHP
DOCKER_HOST: tcp://docker:2375
commands:
- sleep 5
- docker buildx create --use --name docker --node docker --platform linux/amd64 --driver docker-container $DOCKER_HOST
- echo $PASSWORD | docker login --username $USER --password-stdin
- docker buildx build --load --cache-from ezkrg/cache:bitlbee-libpurple --cache-to ezkrg/cache:bitlbee-libpurple -t ezkrg/bitlbee-libpurple:test .
- docker push ezkrg/bitlbee-libpurple:test
- name: 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 tag ezkrg/bitlbee-libpurple:test ezkrg/bitlbee-libpurple:$DRONE_TAG
- docker push ezkrg/bitlbee-libpurple:$DRONE_TAG
- docker tag ezkrg/bitlbee-libpurple:test ezkrg/bitlbee-libpurple:latest
- docker push ezkrg/bitlbee-libpurple:latest
when:
event:
- tag
---
kind: pipeline
type: docker
name: notification
clone:
disable: true
steps:
- name: telegram
image: appleboy/drone-telegram:1.3.4
failure: ignore
settings:
token:
from_secret: TT
to:
from_secret: TID
message: |
*{{commit.author}} ({{commit.email}})*
*{{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}})
depends_on:
- docker
---
kind: signature
hmac: 6d34136b0fc3ae4a1c12e759c5eb553b3be864760bf1efd26c3b2b00b711229a
...

View File

@@ -1,5 +1,22 @@
# Changelog # Changelog
## 2020-11-04 03:16:34 ([heywoodlh](https://github.com/heywoodlh))
- add signal
## 2020-04-09 20:27:51
- add otr
## 2020-04-06 10:19:50
- upgrade discord version from aa0bbf2 to 0.4.3
- upgrade mastodon version from 83dee0b to v1.4.4
- upgrade matrix version from 4494ba2 to 1d23385
## 2020-04-05 14:01:52
- upgrade telegram version from b101bbb to 1.4.3
- upgrade slack version from 8acc4eb to e6e5427
- upgrade sipe version from upstream/1.23.3 to 1.25.0
- change sipe clone url
## 2019-11-25 18:13:41 ([revmischa](https://github.com/revmischa)) ## 2019-11-25 18:13:41 ([revmischa](https://github.com/revmischa))
- add matrix - add matrix

View File

@@ -1,179 +1,405 @@
FROM alpine:3.10 ARG ALPINE_VERSION=3.12
FROM alpine:${ALPINE_VERSION} as bitlbee-build
ARG BITLBEE_VERSION=3.6
RUN apk add --no-cache --update \
bash shadow build-base git python2 autoconf automake libtool mercurial intltool flex \
glib-dev openssl-dev pidgin-dev json-glib-dev libgcrypt-dev zlib-dev libwebp-dev \
libpng-dev protobuf-c-dev libxml2-dev discount-dev sqlite-dev http-parser-dev libotr-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=1
ARG STEAM=1 ARG FACEBOOK_VERSION=v1.2.0
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 RUN echo FACEBOOK=${FACEBOOK} > /tmp/status \
ENV FACEBOOK_VERSION v1.2.0 && if [ ${FACEBOOK} -eq 1 ]; \
ENV STEAM_VERSION a6444d2 then cd /tmp \
ENV SKYPEWEB_VERSION 5d29285 && git clone -n https://github.com/bitlbee/bitlbee-facebook.git \
ENV TELEGRAM_VERSION b101bbb && cd bitlbee-facebook \
ENV HANGOUTS_VERSION 3f7d89b && git checkout ${FACEBOOK_VERSION} \
ENV SLACK_VERSION 8acc4eb && ./autogen.sh \
ENV SIPE_VERSION upstream/1.23.3 && make \
ENV DISCORD_VERSION aa0bbf2 && make install \
ENV ROCKETCHAT_VERSION 826990b && strip /usr/lib/bitlbee/facebook.so; \
ENV MASTODON_VERSION 83dee0b else mkdir -p /usr/lib/bitlbee \
ENV OLM_VERSION 3.1.4 && ln -sf /nowhere /usr/lib/bitlbee/facebook.so \
ENV MATRIX_VERSION 4494ba2 && 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=f836eeb
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 \
&& 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=efa7a53
RUN echo HANGOUTS=${HANGOUTS} > /tmp/status \
&& if [ ${HANGOUTS} -eq 1 ]; \
then cd /tmp \
&& 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=2e9fa02
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 \
&& 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=5da3e14
RUN echo ROCKETCHAT=${ROCKETCHAT} > /tmp/status \
&& if [ ${ROCKETCHAT} -eq 1 ]; \
then cd /tmp \
&& 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 OLM_VERSION=3.1.4
ARG MATRIX_VERSION=1d23385
RUN echo MATRIX=${MATRIX} > /tmp/status \
&& if [ ${MATRIX} -eq 1 ]; \
then cd /tmp \
&& 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; \
else mkdir -p /usr/lib/purple-2 \
&& ln -sf /nowhere /usr/local/lib/libolm.so.3.1.4 \
&& ln -sf /nowhere /usr/lib/purple-2/libmatrix.so; \
fi
# ---
FROM bitlbee-build as signald-build
ARG SIGNAL=1
ARG SIGNAL_VERSION=f53a118
RUN echo SIGNAL=${SIGNAL} > /tmp/status \
&& if [ ${SIGNAL} -eq 1 ]; \
then cd /tmp \
&& git clone -n https://github.com/hoehermann/libpurple-signald \
&& cd libpurple-signald \
&& git checkout ${SIGNAL_VERSION} \
&& make \
&& 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 alpine:${ALPINE_VERSION} 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/local/lib/libolm.so.3.1.4 /tmp/usr/local/lib/libolm.so.3
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
RUN apk add --update --no-cache findutils \
&& find /tmp/ -type f -empty -delete \
&& find /tmp/ -type d -empty -delete \
&& cat /tmp/plugin/* > /tmp/plugins \
&& rm -rf /tmp/plugin
# ---
FROM alpine:${ALPINE_VERSION} as bitlbee-libpurple
COPY --from=bitlbee-plugins /tmp/ /
ARG PKGS="tzdata bash glib libssl1.1 libpurple libpurple-xmpp \
libpurple-oscar libpurple-bonjour"
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 \ && install -d -m 750 -o bitlbee -g bitlbee /var/lib/bitlbee \
libpurple \ && source /plugins \
libpurple-xmpp \ && if [ ${OTR} -eq 1 ]; then PKGS="${PKGS} libotr"; fi \
libpurple-oscar \ && if [ ${FACEBOOK} -eq 1 ] || [ ${SKYPEWEB} -eq 1 ] || [ ${HANGOUTS} -eq 1 ] \
libpurple-bonjour \ || [ ${ROCKETCHAT} -eq 1 ] || [ ${MATRIX} -eq 1 ] || [ ${SIGNAL} -eq 1 ]; then PKGS="${PKGS} json-glib"; fi \
json-glib \ && if [ ${STEAM} -eq 1 ] || [ ${TELEGRAM} -eq 1 ] || [ ${MATRIX} -eq 1 ]; then PKGS="${PKGS} libgcrypt"; fi \
libgcrypt \ && if [ ${TELEGRAM} -eq 1 ]; then PKGS="${PKGS} zlib libwebp libpng"; fi \
libssl1.1 \ && if [ ${HANGOUTS} -eq 1 ] || [ ${SIGNAL} -eq 1 ]; then PKGS="${PKGS} protobuf-c"; fi \
libcrypto1.1 \ && if [ ${SIPE} -eq 1 ]; then PKGS="${PKGS} libxml2"; fi \
gettext \ && if [ ${ROCKETCHAT} -eq 1 ]; then PKGS="${PKGS} discount"; fi \
libwebp \ && if [ ${MATRIX} -eq 1 ]; then PKGS="${PKGS} sqlite http-parser"; fi \
glib \ && apk add --no-cache --update ${PKGS} \
protobuf-c \ && rm /plugins
discount-libs \
libpng \
sqlite \
http-parser \
bash \
&& apk add --no-cache --update --virtual .build-dependencies \
git \
make \
autoconf \
automake \
libtool \
gcc \
g++ \
json-glib-dev \
libgcrypt-dev \
openssl-dev \
pidgin-dev \
libwebp-dev \
glib-dev \
protobuf-c-dev \
mercurial \
libxml2-dev \
discount-dev \
libpng-dev \
sqlite-dev \
http-parser-dev \
&& cd /tmp \
&& git clone https://github.com/bitlbee/bitlbee.git \
&& cd bitlbee \
&& 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 \
&& make \
&& make install \
&& make install-dev \
&& strip /usr/sbin/bitlbee \
&& if [ ${FACEBOOK} -eq 1 ]; then cd /tmp \
&& git clone 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; fi \
&& if [ ${STEAM} -eq 1 ]; then cd /tmp \
&& git clone https://github.com/bitlbee/bitlbee-steam.git \
&& cd bitlbee-steam \
&& git checkout ${STEAM_VERSION} \
&& ./autogen.sh --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl \
&& make \
&& make install \
&& strip /usr/lib/bitlbee/steam.so; fi \
&& if [ ${SKYPEWEB} -eq 1 ]; then cd /tmp \
&& git clone git://github.com/EionRobb/skype4pidgin.git \
&& cd skype4pidgin/skypeweb \
&& git checkout ${SKYPEWEB_VERSION} \
&& make \
&& make install \
&& strip /usr/lib/purple-2/libskypeweb.so; fi \
&& if [ ${TELEGRAM} -eq 1 ]; then cd /tmp \
&& git clone --recursive https://github.com/majn/telegram-purple \
&& cd telegram-purple \
&& git checkout ${TELEGRAM_VERSION} \
&& ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl \
&& make \
&& make install \
&& strip /usr/lib/purple-2/telegram-purple.so; fi \
&& if [ ${HANGOUTS} -eq 1 ]; then cd /tmp \
&& hg clone https://bitbucket.org/EionRobb/purple-hangouts -r ${HANGOUTS_VERSION} \
&& cd purple-hangouts \
&& make \
&& make install \
&& strip /usr/lib/purple-2/libhangouts.so; fi \
&& if [ ${SLACK} -eq 1 ]; then cd /tmp \
&& git clone https://github.com/dylex/slack-libpurple.git \
&& cd slack-libpurple \
&& git checkout ${SLACK_VERSION} \
&& make \
&& make install \
&& strip /usr/lib/purple-2/libslack.so; fi \
&& if [ ${SIPE} -eq 1 ]; then cd /tmp \
&& git clone https://github.com/tieto/sipe.git \
&& cd sipe \
&& git checkout ${SIPE_VERSION} \
&& ./autogen.sh \
&& ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --prefix=/usr \
&& make \
&& make install \
&& strip /usr/lib/purple-2/libsipe.so; fi \
&& if [ ${DISCORD} -eq 1 ]; then cd /tmp \
&& git clone https://github.com/sm00th/bitlbee-discord.git \
&& cd bitlbee-discord \
&& git checkout ${DISCORD_VERSION} \
&& ./autogen.sh \
&& ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl --prefix=/usr \
&& make \
&& make install \
&& strip /usr/lib/bitlbee/discord.so; fi \
&& if [ ${ROCKETCHAT} -eq 1 ]; then cd /tmp \
&& hg clone https://bitbucket.org/EionRobb/purple-rocketchat -r ${ROCKETCHAT_VERSION} \
&& cd purple-rocketchat \
&& make \
&& make install \
&& strip /usr/lib/purple-2/librocketchat.so; fi \
&& if [ ${MASTODON} -eq 1 ]; then cd /tmp \
&& git clone -n https://github.com/kensanata/bitlbee-mastodon \
&& cd bitlbee-mastodon \
&& git checkout ${MASTODON_VERSION} \
&& ./autogen.sh \
&& ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl \
&& make \
&& make install \
&& strip /usr/lib/bitlbee/mastodon.so; fi \
&& if [ ${MATRIX} -eq 1 ]; then cd /tmp \
&& 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; fi \
&& rm -rf /tmp/* \
&& rm -rf /usr/include/bitlbee \
&& rm -f /usr/lib/pkgconfig/bitlbee.pc \
&& apk del .build-dependencies
EXPOSE 6667 EXPOSE 6667
USER bitlbee CMD [ "/usr/sbin/bitlbee", "-F", "-n", "-u", "bitlbee" ]
CMD [ "/usr/sbin/bitlbee", "-F", "-n" ]

View File

@@ -12,6 +12,7 @@ This docker image includes bitlbee with a bunch of useful plugins:
- [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) - [matrix](https://github.com/matrix-org/purple-matrix)
- [signal](https://github.com/hoehermann/libpurple-signald)
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.