mirror of
https://github.com/deuill/coreos-home-server.git
synced 2024-09-21 05:30:45 +00:00
Merge pull request #1 from deuill/rdircd
Integrate Reliable Discord-Client IRC Daemon
This commit is contained in:
commit
a9fd93097e
20
config/service/discord-ircd/Containerfile
Normal file
20
config/service/discord-ircd/Containerfile
Normal 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"]
|
@ -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\.
|
12
config/service/discord-ircd/container/run-rdircd
Executable file
12
config/service/discord-ircd/container/run-rdircd
Executable 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 "$@"
|
7
config/service/discord-ircd/discord-ircd.env.template
Normal file
7
config/service/discord-ircd/discord-ircd.env.template
Normal 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}
|
16
config/service/discord-ircd/discord-ircd.service
Normal file
16
config/service/discord-ircd/discord-ircd.service
Normal 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
|
11
config/service/discord-ircd/spec.fcc
Normal file
11
config/service/discord-ircd/spec.fcc
Normal 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.
Loading…
Reference in New Issue
Block a user