mirror of
https://github.com/deuill/coreos-home-server.git
synced 2024-09-21 13:40:45 +00:00
spectrum: Make builds multi-stage, add WhatsApp
Plugins will now be built in separate image stages, and copied into a pristine image for Spectrum alone.
This commit is contained in:
parent
6f7b2d99ac
commit
ff700c7a8a
@ -1,11 +1,35 @@
|
|||||||
|
FROM docker.io/debian:bullseye-slim AS builder
|
||||||
|
ARG SKYPE_VERSION=29c860170ca18c3f7f15b5ba7723e06ddc760361
|
||||||
|
ARG DISCORD_VERSION=698907f0573692ed79f35e86abcd67ae85b64e89
|
||||||
|
|
||||||
|
RUN apt-get update -y && apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates build-essential gettext git libpurple-dev libglib2.0-dev libnss3-dev \
|
||||||
|
libqrencode-dev libjson-glib-dev libhttp-parser-dev graphicsmagick-imagemagick-compat
|
||||||
|
|
||||||
|
RUN git clone https://github.com/EionRobb/skype4pidgin.git && \
|
||||||
|
cd skype4pidgin/skypeweb && git checkout ${SKYPE_VERSION} && make && make install DESTDIR=/spectrum-plugins && \
|
||||||
|
rm -Rf /skype4pidgin
|
||||||
|
|
||||||
|
RUN git clone https://github.com/EionRobb/purple-discord.git && \
|
||||||
|
cd purple-discord && git checkout ${DISCORD_VERSION} && make && make install DESTDIR=/spectrum-plugins && \
|
||||||
|
rm -Rf /purple-discord
|
||||||
|
|
||||||
|
FROM docker.io/golang:1.18 AS golang-builder
|
||||||
|
ARG WHATSAPP_VERSION=6722b2312c4fab6c1725cb17837c5d7b498b575a
|
||||||
|
|
||||||
|
RUN apt-get update -y && apt-get install -y --no-install-recommends \
|
||||||
|
ca-certificates build-essential cmake git libpurple-dev
|
||||||
|
|
||||||
|
RUN git clone https://github.com/hoehermann/purple-gowhatsapp.git && \
|
||||||
|
cd purple-gowhatsapp && git checkout ${WHATSAPP_VERSION} && mkdir -p build && cd build && \
|
||||||
|
cmake .. && cmake --build . && make install DESTDIR=/spectrum-plugins && \
|
||||||
|
rm -Rf /purple-gowhatsapp
|
||||||
|
|
||||||
FROM docker.io/debian:bullseye-slim
|
FROM docker.io/debian:bullseye-slim
|
||||||
ARG VERSION=2.1.3
|
ARG VERSION=2.1.3
|
||||||
|
|
||||||
ENV BUILD_DEPS="curl gnupg apt-transport-https build-essential git libpurple-dev libglib2.0-dev \
|
RUN apt-get update -y && apt-get install -y --no-install-recommends \
|
||||||
libnss3-dev libqrencode-dev libjson-glib-dev libhttp-parser-dev graphicsmagick-imagemagick-compat"
|
ca-certificates curl gnupg apt-transport-https gettext libnss3 libqrencode4 libjson-glib-1.0-0
|
||||||
|
|
||||||
RUN apt-get update -y && \
|
|
||||||
apt-get install -y --no-install-recommends ca-certificates sudo gettext libnss3 libqrencode4 libjson-glib-1.0-0 ${BUILD_DEPS}
|
|
||||||
|
|
||||||
RUN echo "deb https://packages.spectrum.im/spectrum2/ bullseye main" > /etc/apt/sources.list.d/spectrum2.list && \
|
RUN echo "deb https://packages.spectrum.im/spectrum2/ bullseye main" > /etc/apt/sources.list.d/spectrum2.list && \
|
||||||
echo "deb-src https://packages.spectrum.im/spectrum2/ bullseye main" >> /etc/apt/sources.list.d/spectrum2.list && \
|
echo "deb-src https://packages.spectrum.im/spectrum2/ bullseye main" >> /etc/apt/sources.list.d/spectrum2.list && \
|
||||||
@ -13,17 +37,8 @@ RUN echo "deb https://packages.spectrum.im/spectrum2/ bullseye main" > /etc/apt/
|
|||||||
apt-get update -y && \
|
apt-get update -y && \
|
||||||
apt-get install -y --no-install-recommends spectrum2=1:${VERSION}"*" spectrum2-backend-libpurple=1:${VERSION}"*"
|
apt-get install -y --no-install-recommends spectrum2=1:${VERSION}"*" spectrum2-backend-libpurple=1:${VERSION}"*"
|
||||||
|
|
||||||
ARG SKYPE_VERSION=29c860170ca18c3f7f15b5ba7723e06ddc760361
|
COPY --from=builder /spectrum-plugins /
|
||||||
RUN git clone https://github.com/EionRobb/skype4pidgin.git && \
|
COPY --from=golang-builder /spectrum-plugins /
|
||||||
cd skype4pidgin/skypeweb && git checkout ${SKYPE_VERSION} && make && make install && \
|
|
||||||
rm -Rf /skype4pidgin
|
|
||||||
|
|
||||||
ARG DISCORD_VERSION=698907f0573692ed79f35e86abcd67ae85b64e89
|
|
||||||
RUN git clone https://github.com/EionRobb/purple-discord.git && \
|
|
||||||
cd purple-discord && git checkout ${DISCORD_VERSION} && make && make install && \
|
|
||||||
rm -Rf /purple-discord
|
|
||||||
|
|
||||||
RUN apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS}
|
|
||||||
|
|
||||||
RUN addgroup --system --gid 10000 spectrum
|
RUN addgroup --system --gid 10000 spectrum
|
||||||
RUN adduser --system --uid 10000 --ingroup spectrum --home /var/lib/spectrum2 spectrum
|
RUN adduser --system --uid 10000 --ingroup spectrum --home /var/lib/spectrum2 spectrum
|
||||||
|
@ -37,7 +37,7 @@ protocol = ${SPECTRUM_PROTOCOL}
|
|||||||
|
|
||||||
[identity]
|
[identity]
|
||||||
# Name of Spectrum instance in service discovery
|
# Name of Spectrum instance in service discovery
|
||||||
name = Spectrum Jabber Transport
|
name = Spectrum Transport (${SPECTRUM_PROTOCOL})
|
||||||
|
|
||||||
# Type of transport ("msn", "icq", "xmpp").
|
# Type of transport ("msn", "icq", "xmpp").
|
||||||
# Check http://xmpp.org/registrar/disco-categories.html#gateway
|
# Check http://xmpp.org/registrar/disco-categories.html#gateway
|
||||||
|
Loading…
Reference in New Issue
Block a user