Merge pull request #1 from deuill/rdircd

Integrate Reliable Discord-Client IRC Daemon
This commit is contained in:
Alex Palaistras 2021-03-25 18:49:09 +00:00 committed by GitHub
commit a9fd93097e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 76 additions and 0 deletions

View File

@ -0,0 +1,20 @@
FROM docker.io/debian:stable-slim
RUN apt-get update -y && apt-get install -y --no-install-recommends \
ca-certificates python3 python3-aiohttp gettext git
RUN git clone --depth 1 https://github.com/mk-fg/reliable-discord-client-irc-daemon.git /rdircd && \
cp /rdircd/rdircd /usr/bin && chmod 0755 /usr/bin/rdircd && \
rm -Rf /rdircd
RUN addgroup --system --gid 10000 rdircd
RUN adduser --system --uid 10000 --ingroup rdircd --home /var/lib/rdircd rdircd
COPY container/config /etc/rdircd
COPY container/run-rdircd /run-rdircd
RUN chown -R rdircd:rdircd /etc/rdircd
USER rdircd
EXPOSE 6667
ENTRYPOINT ["/run-rdircd"]

View File

@ -0,0 +1,10 @@
[auth-main]
email = ${DISCORD_IRCD_AUTH_EMAIL}
password = ${DISCORD_IRCD_AUTH_PASSWORD}
token = ${DISCORD_IRCD_AUTH_TOKEN}
token-manual = no
[irc]
host = 0.0.0.0
password = ${DISCORD_IRCD_PASSWORD}
chan-auto-join-re = ^me\.

View File

@ -0,0 +1,12 @@
#!/bin/sh
# Prepare configuration files for environment variable substitution.
ENV_NAMES="`env | awk -F '=' '{printf "$%s ", $1}'`"
for file in /etc/rdircd/*.template; do
envsubst "${ENV_NAMES}" < "$file" > "`echo $file | awk -F '.template$' '{print $1}'`"
done
# Ensure state file exists before starting service.
touch /var/lib/rdircd/state.conf
/usr/bin/rdircd --conf /etc/rdircd/rdircd.conf --conf /var/lib/rdircd/state.conf "$@"

View File

@ -0,0 +1,7 @@
# Authentication configuration.
DISCORD_IRCD_AUTH_EMAIL=${DISCORD_IRCD_AUTH_EMAIL}
DISCORD_IRCD_AUTH_PASSWORD=${DISCORD_IRCD_AUTH_PASSWORD}
DISCORD_IRCD_AUTH_TOKEN=
# Daemon configuration.
DISCORD_IRCD_PASSWORD=${DISCORD_IRCD_PASSWORD}

View File

@ -0,0 +1,16 @@
[Unit]
Description=Reliable Discord-Client IRC Daemon
Wants=container-build@%N.service container-network@prosody.service
After=container-build@%N.service container-network@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/rdircd:z \
--name %N localhost/%N:latest
ExecStart=/bin/podman start --attach %N
ExecStop=/bin/podman stop --time 10 %N
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,11 @@
variant: fcos
version: 1.3.0
storage:
files:
- path: /etc/systemd/system/discord-ircd.service
contents:
local: service/discord-ircd/discord-ircd.service
systemd:
units:
- name: discord-ircd.service
enabled: true

Binary file not shown.