Initial commit

main
Jerry Aldrich 5 years ago
commit 2eb2be7c87
  1. 3
      .dockerignore
  2. 3
      .gitignore
  3. 43
      Dockerfile
  4. 24
      README.md
  5. 23
      entrypoint.sh

@ -0,0 +1,3 @@
unrealircd.conf
server.crt
server.key

3
.gitignore vendored

@ -0,0 +1,3 @@
unrealircd.conf
server.cert.pem
server.key.pem

@ -0,0 +1,43 @@
FROM alpine:latest as build-stage
LABEL maintainer "jerryaldrichiii@gmail.com"
RUN apk add --update \
wget \
openssl-dev \
alpine-sdk \
&& rm -rf /var/cache/apk/*
# UnrealIRCd doesn't allow building as root
RUN adduser -D unreal
USER unreal
WORKDIR /home/unreal
RUN wget https://www.unrealircd.org/downloads/unrealircd-latest.tar.gz
RUN tar xvzf unrealircd-latest.tar.gz
# NOTE: This assumes version 5.X
RUN mv unrealircd-5.* unreal-src
WORKDIR unreal-src
RUN ./Config
RUN make
RUN make install
FROM alpine:latest
COPY entrypoint.sh /home/unreal/entrypoint.sh
RUN chmod +x /home/unreal/entrypoint.sh
EXPOSE 6667
EXPOSE 6697
EXPOSE 6900
RUN adduser -D unreal
RUN mkdir /bootstrap
RUN chown -R unreal:unreal /bootstrap
USER unreal
COPY --from=build-stage /home/unreal/unrealircd /home/unreal/unrealircd/
ENTRYPOINT /home/unreal/entrypoint.sh

@ -0,0 +1,24 @@
# UnrealIRCd Server
> NOTE: This assumes version 5.X
To configure, mount:
- An `unrealircd.conf` to `/bootstrap/unrealircd.conf`
- An SSL key `server.cert.pem` to `/boostrap/server.cert.pem`
- An SSL cert `server.key.pem` to `/boostrap/server.key.pem`
- An optional `ircd.motd` to `/bootstrap/ircd.motd`
Example:
```
docker run -it --rm \
-v $PWD/unrealircd.conf:/bootstrap/conf/unrealircd.conf \
-v $PWD/server.key.pem:/bootstrap/tls/server.key.pem \
-v $PWD/server.cert.pem:/bootstrap/tls/server.cert.pem \
-p 6667:6667 -p 6697:6697 -p 6900:6900 \
jerryaldrichiii/unrealircd
```
## TODO
- Persistent reputation.db?
- Persistent unrealircd/data

@ -0,0 +1,23 @@
#!/bin/sh
set -e
# This is for Kubernetes really, can't mount a single file there
# Or...I'm an idiot
echo "Copying server cert"
cp /bootstrap/tls/server.cert.pem /home/unreal/unrealircd/conf/tls/server.cert.pem
echo "Copying server key"
cp /bootstrap/tls/server.key.pem /home/unreal/unrealircd/conf/tls/server.key.pem
echo "Copying unrealircd.conf"
cp /bootstrap/conf/unrealircd.conf /home/unreal/unrealircd/conf/unrealircd.conf
if [ -f /boostrap/ircd.motd ]; then
echo "Copying ircd.motd"
cp /bootstrap/ircd.motd /home/unreal/unrealircd/conf/ircd.motd
fi
cd /home/unreal/unrealircd
# Grr...no way to run in foreground
./unrealircd start
tail -f logs/ircd.log
Loading…
Cancel
Save