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