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