commit
2eb2be7c87
5 changed files with 96 additions and 0 deletions
@ -0,0 +1,3 @@ |
||||
unrealircd.conf |
||||
server.crt |
||||
server.key |
@ -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…
Reference in new issue