Integrate Biboumi IRC-to-XMPP gateway
This commit is contained in:
parent
65e15b036e
commit
dc2c3a7933
|
@ -0,0 +1,25 @@
|
|||
FROM docker.io/debian:stable-slim
|
||||
|
||||
ENV BUILD_DEPS="build-essential git cmake python"
|
||||
RUN apt-get update -y && apt-get install -y --no-install-recommends \
|
||||
ca-certificates gettext libexpat1-dev libidn11-dev uuid-dev libsqlite3-dev libudns-dev \
|
||||
libbotan-2-dev ${BUILD_DEPS}
|
||||
|
||||
ARG BIBOUMI_VERSION=9.0
|
||||
RUN git clone --branch ${BIBOUMI_VERSION} --depth 1 https://lab.louiz.org/louiz/biboumi /biboumi && \
|
||||
mkdir /biboumi/build && cd /biboumi/build && \
|
||||
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DWITH_BOTAN=1 -DWITH_SQLITE3=1 \
|
||||
-DWITH_LIBIDN=1 -DWITHOUT_SYSTEMD=1 && \
|
||||
make && make install && rm -Rf /biboumi
|
||||
|
||||
RUN apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS}
|
||||
|
||||
RUN addgroup --system --gid 10000 biboumi
|
||||
RUN adduser --system --uid 10000 --ingroup biboumi --home /var/lib/biboumi biboumi
|
||||
|
||||
COPY container/config /etc/biboumi
|
||||
COPY container/run-biboumi /run-biboumi
|
||||
RUN chown -R biboumi:biboumi /etc/biboumi
|
||||
|
||||
USER biboumi
|
||||
ENTRYPOINT ["/run-biboumi"]
|
|
@ -0,0 +1,5 @@
|
|||
# Options for Biboumi.
|
||||
BIBOUMI_HOSTNAME=biboumi
|
||||
BIBOUMI_PASSWORD=${PROSODY_BIBOUMI_PASSWORD}
|
||||
BIBOUMI_XMPP_HOST=prosody
|
||||
BIBOUMI_IDENTD_PORT=0
|
|
@ -0,0 +1,16 @@
|
|||
[Unit]
|
||||
Description=Biboumi IRC gateway for XMPP
|
||||
Wants=container-build@%N.service prosody.service
|
||||
After=container-build@%N.service prosody.service
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
ExecStartPre=/bin/install --owner 10000 --group 10000 -d /var/lib/container-service/%N
|
||||
ExecStartPre=/bin/podman create --replace --pull never --net prosody --env-file /etc/container-service/%N/%N.env \
|
||||
--volume /var/lib/container-service/%N:/var/lib/%N:z \
|
||||
--name %N localhost/%N:latest
|
||||
ExecStart=/bin/podman start --attach %N
|
||||
ExecStop=/bin/podman stop --time 10 %N
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -0,0 +1,6 @@
|
|||
hostname=${BIBOUMI_HOSTNAME}
|
||||
password=${BIBOUMI_PASSWORD}
|
||||
xmpp_server_ip=${BIBOUMI_XMPP_HOST}
|
||||
db_name=/var/lib/biboumi/biboumi.sqlite
|
||||
log_level=1
|
||||
persistent_by_default=true
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Prepare configuration files for environment variable substitution.
|
||||
ENV_NAMES="`env | awk -F '=' '{printf "$%s ", $1}'`"
|
||||
for file in /etc/biboumi/*.template; do
|
||||
envsubst "${ENV_NAMES}" < "$file" > "`echo $file | awk -F '.template$' '{print $1}'`"
|
||||
done
|
||||
|
||||
/usr/bin/biboumi /etc/biboumi/biboumi.cfg "$@"
|
|
@ -0,0 +1,11 @@
|
|||
variant: fcos
|
||||
version: 1.3.0
|
||||
storage:
|
||||
files:
|
||||
- path: /etc/systemd/system/biboumi.service
|
||||
contents:
|
||||
local: service/biboumi/biboumi.service
|
||||
systemd:
|
||||
units:
|
||||
- name: biboumi.service
|
||||
enabled: true
|
|
@ -1,12 +1,12 @@
|
|||
[Unit]
|
||||
Description=Prosody XMPP server
|
||||
Wants=container-build@%N.service mariadb.service postfix.service
|
||||
After=container-build@%N.service mariadb.service postfix.service
|
||||
Wants=container-build@%N.service container-network@%N.service mariadb.service postfix.service
|
||||
After=container-build@%N.service container-network@%N.service mariadb.service postfix.service
|
||||
|
||||
[Service]
|
||||
Restart=always
|
||||
ExecStartPre=/bin/install --owner 101 --group 102 -d /var/lib/container-service/%N
|
||||
ExecStartPre=/bin/podman create --replace --pull never --net mariadb --env-file /etc/container-service/%N/%N.env \
|
||||
ExecStartPre=/bin/podman create --replace --pull never --net mariadb,%N --env-file /etc/container-service/%N/%N.env \
|
||||
--publish 5222:5222 --publish 5269:5269 --publish 5347:5347 \
|
||||
--volume /var/lib/container-service/%N:/var/lib/%N:z --volume /etc/container-service/%N/service/config:/etc/%N/conf.d:z \
|
||||
--volume /var/lib/container-service/letsencrypt/private:/etc/ssl/private:z \
|
||||
|
|
|
@ -14,6 +14,7 @@ ignition:
|
|||
- local: service/postfix/spec.ign
|
||||
- local: service/rspamd/spec.ign
|
||||
- local: service/prosody/spec.ign
|
||||
- local: service/biboumi/spec.ign
|
||||
- local: service/radicale/spec.ign
|
||||
- local: private/spec.ign
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ ignition:
|
|||
- local: service/postfix/spec.ign
|
||||
- local: service/rspamd/spec.ign
|
||||
- local: service/prosody/spec.ign
|
||||
- local: service/biboumi/spec.ign
|
||||
- local: service/radicale/spec.ign
|
||||
|
||||
passwd:
|
||||
|
|
Loading…
Reference in New Issue