coreos-home-server/service/spectrum/Containerfile
Alex Palaistras ff700c7a8a 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.
2022-05-03 15:48:24 +01:00

50 lines
2.3 KiB
Docker

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
ARG VERSION=2.1.3
RUN apt-get update -y && apt-get install -y --no-install-recommends \
ca-certificates curl gnupg apt-transport-https gettext libnss3 libqrencode4 libjson-glib-1.0-0
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 && \
curl -o - https://packages.spectrum.im/packages.key | apt-key add - && \
apt-get update -y && \
apt-get install -y --no-install-recommends spectrum2=1:${VERSION}"*" spectrum2-backend-libpurple=1:${VERSION}"*"
COPY --from=builder /spectrum-plugins /
COPY --from=golang-builder /spectrum-plugins /
RUN addgroup --system --gid 10000 spectrum
RUN adduser --system --uid 10000 --ingroup spectrum --home /var/lib/spectrum2 spectrum
COPY container/config /etc/spectrum2
COPY container/run-spectrum /run-spectrum
ENTRYPOINT ["/run-spectrum"]