44 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
4 changed files with 449 additions and 252 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,284 +1,275 @@
FROM alpine:3.10 ARG ALPINE_VERSION=3.12
FROM alpine:${ALPINE_VERSION} as bitlbee-build
ARG BITLBEE_VERSION=3.6 ARG BITLBEE_VERSION=3.6
RUN addgroup -g 101 -S bitlbee \ RUN apk add --no-cache --update \
&& adduser -u 101 -D -S -G bitlbee bitlbee \ bash shadow build-base git python2 autoconf automake libtool mercurial intltool flex \
&& apk add --no-cache --update \ glib-dev openssl-dev pidgin-dev json-glib-dev libgcrypt-dev zlib-dev libwebp-dev \
tzdata \ libpng-dev protobuf-c-dev libxml2-dev discount-dev sqlite-dev http-parser-dev libotr-dev \
bash \
glib \
libssl1.1 \
libpurple \
libpurple-xmpp \
libpurple-oscar \
libpurple-bonjour \
&& apk add --no-cache --update --virtual .build-dependencies \
build-base \
git \
glib-dev \
openssl-dev \
python2 \
pidgin-dev \
&& cd /tmp \ && cd /tmp \
&& git clone -n 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 --purple=1 --otr=plugin --ssl=openssl --prefix=/usr --etcdir=/etc/bitlbee \
&& make \ && make \
&& make install \ && make install-bin \
&& make install-doc \
&& make install-dev \ && make install-dev \
&& make install-etc \ && make install-etc \
&& strip /usr/sbin/bitlbee \ && strip /usr/sbin/bitlbee \
&& rm -rf /tmp/* \ && touch /nowhere
&& apk del .build-dependencies
# ---
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 FACEBOOK_VERSION=v1.2.0 ARG FACEBOOK_VERSION=v1.2.0
RUN if [ ${FACEBOOK} -eq 1 ]; then cd /tmp \ RUN echo FACEBOOK=${FACEBOOK} > /tmp/status \
&& apk add --no-cache --update \ && if [ ${FACEBOOK} -eq 1 ]; \
json-glib \ then cd /tmp \
&& 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 \ && 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 --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl \ && ./autogen.sh \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/bitlbee/facebook.so \ && strip /usr/lib/bitlbee/facebook.so; \
&& rm -rf /tmp/* \ else mkdir -p /usr/lib/bitlbee \
&& apk del .build-dependencies; fi && 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=1
ARG STEAM_VERSION=a6444d2 ARG STEAM_VERSION=a6444d2
RUN if [ ${STEAM} -eq 1 ]; then cd /tmp \ RUN echo STEAM=${STEAM} > /tmp/status \
&& apk add --no-cache --update \ && if [ ${STEAM} -eq 1 ]; \
libgcrypt \ then cd /tmp \
&& 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 \ && 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 \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/bitlbee/steam.so \ && strip /usr/lib/bitlbee/steam.so; \
&& rm -rf /tmp/* \ else mkdir -p /usr/lib/bitlbee \
&& apk del .build-dependencies; fi && 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=1
ARG SKYPEWEB_VERSION=5d29285 ARG SKYPEWEB_VERSION=f836eeb
RUN if [ ${SKYPEWEB} -eq 1 ]; then cd /tmp \ RUN echo SKYPEWEB=${SKYPEWEB} > /tmp/status \
&& apk add --no-cache --update \ && if [ ${SKYPEWEB} -eq 1 ]; \
json-glib \ then cd /tmp \
&& 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 \ && git clone -n https://github.com/EionRobb/skype4pidgin.git \
&& cd skype4pidgin \ && cd skype4pidgin \
&& git checkout ${SKYPEWEB_VERSION} \ && git checkout ${SKYPEWEB_VERSION} \
&& cd skypeweb \ && cd skypeweb \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/purple-2/libskypeweb.so \ && strip /usr/lib/purple-2/libskypeweb.so; \
&& rm -rf /tmp/* \ else mkdir -p /usr/lib/purple-2 \
&& apk del .build-dependencies; fi && ln -sf /nowhere /usr/lib/purple-2/libskypeweb.so; \
fi
# ---
FROM bitlbee-build as telegram-build
ARG TELEGRAM=1 ARG TELEGRAM=1
ARG TELEGRAM_VERSION=b101bbb ARG TELEGRAM_VERSION=v1.4.3
RUN if [ ${TELEGRAM} -eq 1 ]; then cd /tmp \ RUN echo TELEGRAM=${TELEGRAM} > /tmp/status \
&& apk add --no-cache --update \ && if [ ${TELEGRAM} -eq 1 ]; \
libgcrypt \ then cd /tmp \
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 \ && 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 \ && git submodule update --init --recursive \
&& ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl \ && ./configure \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/purple-2/telegram-purple.so \ && strip /usr/lib/purple-2/telegram-purple.so; \
&& rm -rf /tmp/* \ else mkdir -p /usr/lib/purple-2 \
&& apk del .build-dependencies; fi && 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=1
ARG HANGOUTS_VERSION=3f7d89b ARG HANGOUTS_VERSION=efa7a53
RUN if [ ${HANGOUTS} -eq 1 ]; then cd /tmp \ RUN echo HANGOUTS=${HANGOUTS} > /tmp/status \
&& apk add --no-cache --update \ && if [ ${HANGOUTS} -eq 1 ]; \
protobuf-c \ then cd /tmp \
json-glib \ && git clone -n https://github.com/EionRobb/purple-hangouts.git \
&& 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} \
&& cd purple-hangouts \ && cd purple-hangouts \
&& git checkout ${HANGOUTS_VERSION} \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/purple-2/libhangouts.so \ && strip /usr/lib/purple-2/libhangouts.so; \
&& rm -rf /tmp/* \ else mkdir -p /usr/lib/purple-2 \
&& apk del .build-dependencies; fi && ln -sf /nowhere /usr/lib/purple-2/libhangouts.so; \
fi
# ---
FROM bitlbee-build as slack-build
ARG SLACK=1 ARG SLACK=1
ARG SLACK_VERSION=8acc4eb ARG SLACK_VERSION=2e9fa02
RUN if [ ${SLACK} -eq 1 ]; then cd /tmp \ SHELL [ "/bin/bash", "-c" ]
&& apk add --no-cache --update --virtual .build-dependencies \
build-base \ RUN echo SLACK=${SLACK} > /tmp/status \
git \ && if [ ${SLACK} -eq 1 ]; \
pidgin-dev \ then cd /tmp \
glib-dev \
&& git clone -n https://github.com/dylex/slack-libpurple.git \ && 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 \
&& install -d /usr/share/pixmaps/pidgin/protocols/{16,22,48} \
&& make install \ && make install \
&& strip /usr/lib/purple-2/libslack.so \ && strip /usr/lib/purple-2/libslack.so; \
&& rm -rf /tmp/* \ else mkdir -p /usr/lib/purple-2 \
&& apk del .build-dependencies; fi && ln -sf /nowhere /usr/lib/purple-2/libslack.so; \
fi
# ---
FROM bitlbee-build as sipe-build
ARG SIPE=1 ARG SIPE=1
ARG SIPE_VERSION=upstream/1.23.3 ARG SIPE_VERSION=1.25.0
RUN if [ ${SIPE} -eq 1 ]; then cd /tmp \ RUN echo SIPE=${SIPE} > /tmp/status \
&& apk add --no-cache --update --virtual .build-dependencies \ && if [ ${SIPE} -eq 1 ]; \
build-base \ then cd /tmp \
git \ && git clone -n https://repo.or.cz/siplcs.git \
libtool \ && cd siplcs \
glib-dev \
intltool \
automake \
autoconf \
openssl-dev \
libxml2-dev \
pidgin-dev \
&& git clone -n https://github.com/tieto/sipe.git \
&& 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 --prefix=/usr \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/purple-2/libsipe.so \ && strip /usr/lib/purple-2/libsipe.so; \
&& rm -rf /tmp/* \ else mkdir -p /usr/lib/purple-2 \
&& apk del .build-dependencies; fi && 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=1
ARG DISCORD_VERSION=aa0bbf2 ARG DISCORD_VERSION=0.4.3
RUN if [ ${DISCORD} -eq 1 ]; then cd /tmp \ RUN echo DISCORD=${DISCORD} > /tmp/status \
&& apk add --no-cache --update --virtual .build-dependencies \ && if [ ${DISCORD} -eq 1 ]; \
build-base \ then cd /tmp \
git \
autoconf \
automake \
libtool \
glib-dev \
&& git clone -n https://github.com/sm00th/bitlbee-discord.git \ && 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 --prefix=/usr \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/bitlbee/discord.so \ && strip /usr/lib/bitlbee/discord.so; \
&& rm -rf /tmp/* \ else mkdir -p /usr/lib/bitlbee \
&& apk del .build-dependencies; fi && 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=1
ARG ROCKETCHAT_VERSION=826990b ARG ROCKETCHAT_VERSION=5da3e14
RUN if [ ${ROCKETCHAT} -eq 1 ]; then cd /tmp \ RUN echo ROCKETCHAT=${ROCKETCHAT} > /tmp/status \
&& apk add --no-cache --update \ && if [ ${ROCKETCHAT} -eq 1 ]; \
discount \ then cd /tmp \
json-glib \ && git clone -n https://github.com/EionRobb/purple-rocketchat.git \
&& 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} \
&& cd purple-rocketchat \ && cd purple-rocketchat \
&& git checkout ${ROCKETCHAT_VERSION} \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/purple-2/librocketchat.so \ && strip /usr/lib/purple-2/librocketchat.so; \
&& rm -rf /tmp/* \ else mkdir -p /usr/lib/purple-2 \
&& apk del .build-dependencies; fi && ln -sf /nowhere /usr/lib/purple-2/librocketchat.so; \
fi
# ---
FROM bitlbee-build as mastodon-build
ARG MASTODON=1 ARG MASTODON=1
ARG MASTODON_VERSION=83dee0b ARG MASTODON_VERSION=v1.4.4
RUN if [ ${MASTODON} -eq 1 ]; then cd /tmp \ RUN echo MASTODON=${MASTODON} > /tmp/status \
&& apk add --no-cache --update --virtual .build-dependencies \ && if [ ${MASTODON} -eq 1 ]; \
build-base \ then cd /tmp \
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} \
&& ./autogen.sh \ && sh ./autogen.sh \
&& ./configure --build=x86_64-alpine-linux-musl --host=x86_64-alpine-linux-musl \ && ./configure \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/bitlbee/mastodon.so \ && strip /usr/lib/bitlbee/mastodon.so; \
&& rm -rf /tmp/* \ else mkdir -p /usr/lib/bitlbee \
&& apk del .build-dependencies; fi && 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=1
ARG OLM_VERSION=3.1.4 ARG OLM_VERSION=3.1.4
ARG MATRIX_VERSION=4494ba2 ARG MATRIX_VERSION=1d23385
RUN if [ ${MATRIX} -eq 1 ]; then cd /tmp \ RUN echo MATRIX=${MATRIX} > /tmp/status \
&& apk add --no-cache --update \ && if [ ${MATRIX} -eq 1 ]; \
sqlite \ then cd /tmp \
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} \
@@ -291,12 +282,124 @@ RUN if [ ${MATRIX} -eq 1 ]; then cd /tmp \
&& git checkout ${MATRIX_VERSION} \ && git checkout ${MATRIX_VERSION} \
&& make \ && make \
&& make install \ && make install \
&& strip /usr/lib/purple-2/libmatrix.so \ && strip /usr/lib/purple-2/libmatrix.so; \
&& rm -rf /tmp/* \ else mkdir -p /usr/lib/purple-2 \
&& apk del .build-dependencies; fi && 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 \
&& adduser -u 101 -D -S -G bitlbee bitlbee \
&& install -d -m 750 -o bitlbee -g bitlbee /var/lib/bitlbee \
&& source /plugins \
&& if [ ${OTR} -eq 1 ]; then PKGS="${PKGS} libotr"; fi \
&& if [ ${FACEBOOK} -eq 1 ] || [ ${SKYPEWEB} -eq 1 ] || [ ${HANGOUTS} -eq 1 ] \
|| [ ${ROCKETCHAT} -eq 1 ] || [ ${MATRIX} -eq 1 ] || [ ${SIGNAL} -eq 1 ]; then PKGS="${PKGS} json-glib"; fi \
&& if [ ${STEAM} -eq 1 ] || [ ${TELEGRAM} -eq 1 ] || [ ${MATRIX} -eq 1 ]; then PKGS="${PKGS} libgcrypt"; fi \
&& if [ ${TELEGRAM} -eq 1 ]; then PKGS="${PKGS} zlib libwebp libpng"; fi \
&& if [ ${HANGOUTS} -eq 1 ] || [ ${SIGNAL} -eq 1 ]; then PKGS="${PKGS} protobuf-c"; fi \
&& if [ ${SIPE} -eq 1 ]; then PKGS="${PKGS} libxml2"; fi \
&& if [ ${ROCKETCHAT} -eq 1 ]; then PKGS="${PKGS} discount"; fi \
&& if [ ${MATRIX} -eq 1 ]; then PKGS="${PKGS} sqlite http-parser"; fi \
&& apk add --no-cache --update ${PKGS} \
&& rm /plugins
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.