You've already forked docker-bitlbee
Daemon mode can be more unstable due to the use of single process, and libpurple plugins now refuse to start in daemon mode.
119 lines
5.3 KiB
Docker
Executable File
119 lines
5.3 KiB
Docker
Executable File
FROM docker.io/buildpack-deps:stable-scm AS builder
|
|
|
|
LABEL org.opencontainers.image.title="BitlBee container" \
|
|
org.opencontainers.image.description="A containerized version of BitlBee with additional plugins." \
|
|
org.opencontainers.image.url="https://github.com/mbologna/docker-bitlbee" \
|
|
org.opencontainers.image.licenses="MIT"
|
|
|
|
ENV BITLBEE_VERSION="3.6" SKYPE4PIDGIN_VERSION="1.7" FACEBOOK_VERSION="1.2.2"
|
|
|
|
WORKDIR "/"
|
|
RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends \
|
|
autoconf automake build-essential cmake g++ gettext gcc git \
|
|
gperf imagemagick libtool make libglib2.0-dev libhttp-parser-dev \
|
|
libotr5-dev libpurple-dev libgnutls28-dev libjson-glib-dev libnss3-dev \
|
|
libpng-dev libolm-dev libprotobuf-c-dev libqrencode-dev libssl-dev \
|
|
protobuf-c-compiler libgcrypt20-dev libmarkdown2-dev \
|
|
libpng-dev libpurple-dev librsvg2-bin libsqlite3-dev libwebp-dev \
|
|
libgdk-pixbuf2.0-dev libopusfile-dev \
|
|
libtool-bin netcat-traditional pkg-config sudo && \
|
|
curl -LO https://get.bitlbee.org/src/bitlbee-"$BITLBEE_VERSION".tar.gz && \
|
|
git clone https://github.com/EionRobb/purple-hangouts && \
|
|
git clone https://github.com/EionRobb/purple-discord && \
|
|
git clone https://github.com/matrix-org/purple-matrix && \
|
|
git clone https://github.com/EionRobb/purple-teams && \
|
|
git clone https://github.com/dylex/slack-libpurple && \
|
|
curl -LO https://github.com/EionRobb/skype4pidgin/archive/"$SKYPE4PIDGIN_VERSION".tar.gz && \
|
|
curl -LO https://github.com/bitlbee/bitlbee-facebook/archive/v"$FACEBOOK_VERSION".tar.gz && \
|
|
git clone https://src.alexschroeder.ch/bitlbee-mastodon.git && \
|
|
git clone https://github.com/BenWiederhake/tdlib-purple && \
|
|
rm -fr /var/lib/apt/lists/*
|
|
|
|
RUN tar zxvf bitlbee-"$BITLBEE_VERSION".tar.gz
|
|
WORKDIR /bitlbee-"$BITLBEE_VERSION"
|
|
RUN ./configure --verbose=1 --jabber=1 --otr=1 --purple=1 --strip=1 && \
|
|
make -j"$(nproc)" && \
|
|
make install && \
|
|
make install-bin && \
|
|
make install-doc && \
|
|
make install-dev && \
|
|
make install-etc && \
|
|
make install-plugin-otr
|
|
|
|
WORKDIR /purple-hangouts
|
|
RUN make -j"$(nproc)" && make install
|
|
WORKDIR /purple-discord
|
|
RUN make -j"$(nproc)" && make install
|
|
WORKDIR /purple-matrix
|
|
RUN make -j"$(nproc)" && make install
|
|
WORKDIR /purple-teams
|
|
RUN make -j"$(nproc)" && make install
|
|
WORKDIR /slack-libpurple
|
|
RUN make install
|
|
WORKDIR /
|
|
RUN tar zxvf "$SKYPE4PIDGIN_VERSION".tar.gz
|
|
WORKDIR /skype4pidgin-$SKYPE4PIDGIN_VERSION/skypeweb
|
|
RUN make -j"$(nproc)" && make install
|
|
WORKDIR /
|
|
RUN tar zxvf v"$FACEBOOK_VERSION".tar.gz
|
|
WORKDIR /bitlbee-facebook-$FACEBOOK_VERSION
|
|
RUN ./autogen.sh && make -j"$(nproc)" && make install
|
|
WORKDIR /bitlbee-mastodon
|
|
RUN sh autogen.sh && ./configure && make -j"$(nproc)" && make install
|
|
WORKDIR /tdlib-purple
|
|
RUN ./build_and_install.sh
|
|
|
|
WORKDIR /
|
|
RUN libtool --finish /usr/local/lib/bitlbee
|
|
|
|
RUN rm -fr ./bitlbee-"$BITLBEE_VERSION" && \
|
|
rm -fr ./purple* && \
|
|
rm -fr ./slack-libpurple && \
|
|
rm -fr ./skype4pidgin* && \
|
|
rm -fr ./bitlbee-facebook* && \
|
|
rm -fr ./bitlbee-mastodon* && \
|
|
rm -fr ./tdlib-purple && \
|
|
rm -fr -- *.gz && \
|
|
apt-get clean && \
|
|
rm -fr /tmp/* /var/tmp/*
|
|
|
|
# FROM docker.io/debian:stable-slim
|
|
|
|
# COPY --from=builder /usr/local/etc/bitlbee/ /usr/local/etc/bitlbee/
|
|
# COPY --from=builder /usr/local/lib/bitlbee/ /usr/local/lib/bitlbee/
|
|
# COPY --from=builder /usr/local/lib/pkgconfig/ /usr/local/lib/pkgconfig/
|
|
# COPY --from=builder /usr/lib/x86_64-linux-gnu/purple-2/libdiscord.so /usr/lib/x86_64-linux-gnu/purple-2/libdiscord.so
|
|
# COPY --from=builder /usr/lib/x86_64-linux-gnu/purple-2/libhangouts.so /usr/lib/x86_64-linux-gnu/purple-2/libhangouts.so
|
|
# COPY --from=builder /usr/lib/x86_64-linux-gnu/purple-2/libmatrix.so /usr/lib/x86_64-linux-gnu/purple-2/libmatrix.so
|
|
# COPY --from=builder /usr/lib/x86_64-linux-gnu/purple-2/libskypeweb.so /usr/slib/x86_64-linux-gnu/purple-2/libskypeweb.so
|
|
# COPY --from=builder /usr/lib/x86_64-linux-gnu/purple-2/libslack.so /usr/lib/x86_64-linux-gnu/purple-2/libslack.so
|
|
# COPY --from=builder /usr/lib/x86_64-linux-gnu/purple-2/libteams-personal.so /usr/lib/x86_64-linux-gnu/purple-2/libteams-personal.so
|
|
# COPY --from=builder /usr/lib/x86_64-linux-gnu/purple-2/libteams.so /usr/lib/x86_64-linux-gnu/purple-2/libteams.so
|
|
# COPY --from=builder /usr/lib/x86_64-linux-gnu/purple-2/libtelegram-tdlib.so /usr/lib/x86_64-linux-gnu/purple-2/libtelegram-tdlib.so
|
|
# COPY --from=builder /usr/local/sbin/bitlbee /usr/local/sbin/bitlbee
|
|
# COPY --from=builder /usr/local/share/bitlbee/ /usr/local/share/bitlbee/
|
|
# COPY --from=builder /usr/local/share/locale/ /usr/local/share/locale/
|
|
# COPY --from=builder /usr/local/share/man/ /usr/local/share/man/
|
|
# COPY --from=builder /usr/local/share/metainfo/ /usr/local/share/metainfo/
|
|
|
|
# RUN apt-get update && apt-get install --no-install-recommends -y \
|
|
# libpurple0 \
|
|
# libotr5
|
|
|
|
RUN adduser --system --home /var/lib/bitlbee --disabled-password \
|
|
--disabled-login --shell /usr/sbin/nologin bitlbee
|
|
RUN touch /var/run/bitlbee.pid && chown bitlbee:nogroup /var/run/bitlbee.pid
|
|
|
|
EXPOSE 6667
|
|
|
|
# Needed for VOLUME permissions
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x entrypoint.sh
|
|
|
|
# Define volumes for persistent data
|
|
VOLUME ["/var/lib/bitlbee"]
|
|
USER bitlbee
|
|
ENTRYPOINT ["/entrypoint.sh"]
|
|
|
|
CMD ["/usr/local/sbin/bitlbee", "-F", "-n", "-v", "-u", "bitlbee"]
|