commit
e611505f03
5 changed files with 160 additions and 0 deletions
@ -0,0 +1,3 @@ |
|||||||
|
znc.crt |
||||||
|
znc.key |
||||||
|
znc.conf |
@ -0,0 +1,33 @@ |
|||||||
|
FROM alpine:latest as build |
||||||
|
|
||||||
|
RUN apk add --no-cache --update openssl |
||||||
|
|
||||||
|
# Generate self signed SSL cert in case user forgets |
||||||
|
RUN openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \ |
||||||
|
-keyout /znc.key -out /znc.crt -subj "/CN=localhost" \ |
||||||
|
-addext "subjectAltName=DNS:localhost,IP:127.0.0.1" > /dev/null 2>&1 3>&1 |
||||||
|
|
||||||
|
RUN cat znc.key znc.crt > /znc.pem |
||||||
|
|
||||||
|
FROM znc:slim |
||||||
|
|
||||||
|
LABEL maintainer "jerryaldrichiii@gmail.com" |
||||||
|
|
||||||
|
COPY --from=build /znc.pem /srv/znc/tls/ |
||||||
|
|
||||||
|
RUN mkdir -p /srv/znc/ && \ |
||||||
|
chmod g+s /srv/znc/ && \ |
||||||
|
chown znc:znc -R /srv/znc/ |
||||||
|
|
||||||
|
# See entrypoint.sh |
||||||
|
VOLUME /srv/znc/ |
||||||
|
|
||||||
|
EXPOSE 6667 |
||||||
|
EXPOSE 8000 |
||||||
|
|
||||||
|
COPY ./entrypoint.sh /entrypoint.sh |
||||||
|
RUN chmod +x /entrypoint.sh |
||||||
|
|
||||||
|
USER znc |
||||||
|
|
||||||
|
ENTRYPOINT ["/entrypoint.sh"] |
@ -0,0 +1,30 @@ |
|||||||
|
# ZNC |
||||||
|
|
||||||
|
## Usage |
||||||
|
|
||||||
|
Prerequisites: |
||||||
|
- Copy `znc.conf.example` to `znc.conf` and modify relevant lines |
||||||
|
- Generate a password (see znc.conf.example) |
||||||
|
- (optional) Generate SSL certificates (see Dockerfile for openssl command) |
||||||
|
|
||||||
|
### Using self signed SSL certificates |
||||||
|
|
||||||
|
``` |
||||||
|
docker run --rm -it \ |
||||||
|
-v ${PWD}/znc.conf:/bootstrap/configs/znc.conf \ |
||||||
|
-p 6667:6667 \ |
||||||
|
-p 8000:8000 \ |
||||||
|
jerryaldrichiii/znc |
||||||
|
``` |
||||||
|
|
||||||
|
### Using your SSL certificates |
||||||
|
|
||||||
|
``` |
||||||
|
docker run --rm -it \ |
||||||
|
-v ${PWD}/znc.conf:/bootstrap/configs/znc.conf \ |
||||||
|
-v ${PWD}/znc.crt:/bootstrap/tls/znc.crt \ |
||||||
|
-v ${PWD}:/bootstrap/tls/znc.key \ |
||||||
|
-p 6667:6667 \ |
||||||
|
-p 8000:8000 \ |
||||||
|
jerryaldrichiii/znc |
||||||
|
``` |
@ -0,0 +1,14 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
set -e |
||||||
|
|
||||||
|
DATADIR="/srv/znc" |
||||||
|
|
||||||
|
mkdir -p $DATADIR/configs |
||||||
|
cp /bootstrap/configs/znc.conf $DATADIR/configs/znc.conf |
||||||
|
|
||||||
|
if [ -f /bootstrap/tls/znc.key ] && [ -f /bootstrap/tls/znc.crt ]; then |
||||||
|
cat /bootstrap/tls/znc.key /bootstrap/tls/znc.crt > /srv/znc/tls/znc.pem |
||||||
|
fi |
||||||
|
|
||||||
|
/opt/znc/bin/znc --foreground --datadir "$DATADIR" |
@ -0,0 +1,80 @@ |
|||||||
|
AnonIPLimit = 10 |
||||||
|
ConnectDelay = 5 |
||||||
|
HideVersion = true |
||||||
|
LoadModule = webadmin |
||||||
|
LoadModule = adminlog |
||||||
|
MaxBufferSize = 500 |
||||||
|
ProtectWebSessions = true |
||||||
|
SSLCertFile = /srv/znc/tls/znc.pem |
||||||
|
ServerThrottle = 30 |
||||||
|
Skin = _default_ |
||||||
|
StatusPrefix = * |
||||||
|
Version = 1.8.1 |
||||||
|
|
||||||
|
<Listener listener0> |
||||||
|
AllowIRC = true |
||||||
|
AllowWeb = false |
||||||
|
IPv4 = true |
||||||
|
IPv6 = true |
||||||
|
Port = 6667 |
||||||
|
SSL = true |
||||||
|
URIPrefix = / |
||||||
|
</Listener> |
||||||
|
|
||||||
|
<Listener listener1> |
||||||
|
AllowIRC = false |
||||||
|
AllowWeb = true |
||||||
|
IPv4 = true |
||||||
|
IPv6 = true |
||||||
|
Port = 8000 |
||||||
|
SSL = false |
||||||
|
URIPrefix = / |
||||||
|
</Listener> |
||||||
|
|
||||||
|
<User changeme> |
||||||
|
Admin = true |
||||||
|
Allow = * |
||||||
|
AltNick = changeme_ |
||||||
|
AppendTimestamp = false |
||||||
|
AutoClearChanBuffer = true |
||||||
|
AutoClearQueryBuffer = true |
||||||
|
Buffer = 100 |
||||||
|
DenyLoadMod = false |
||||||
|
DenySetBindHost = false |
||||||
|
Ident = changeme |
||||||
|
JoinTries = 10 |
||||||
|
LoadModule = chansaver |
||||||
|
LoadModule = controlpanel |
||||||
|
MaxJoins = 0 |
||||||
|
MaxNetworks = 1 |
||||||
|
MaxQueryBuffers = 50 |
||||||
|
MultiClients = true |
||||||
|
Nick = changeme |
||||||
|
PrependTimestamp = true |
||||||
|
QuitMsg = %znc% |
||||||
|
RealName = Change Me |
||||||
|
TimestampFormat = [%H:%M:%S] |
||||||
|
|
||||||
|
<Network irc.jerryaldrichiii.com> |
||||||
|
FloodBurst = 4 |
||||||
|
FloodRate = 1.00 |
||||||
|
IRCConnectEnabled = true |
||||||
|
JoinDelay = 0 |
||||||
|
LoadModule = simple_away |
||||||
|
Server = irc.jerryaldrichiii.com +6697 |
||||||
|
TrustAllCerts = false |
||||||
|
TrustPKI = true |
||||||
|
Nick = changeme |
||||||
|
|
||||||
|
<Chan #docker> |
||||||
|
</Chan> |
||||||
|
</Network> |
||||||
|
|
||||||
|
// To generate this block run: |
||||||
|
// docker run -it --entrypoint "znc -s" jerryaldrichiii/znc |
||||||
|
<Pass password> |
||||||
|
Method = sha256 |
||||||
|
Hash = e91a3f131f4f2aee652f6ecfca64330bfc74501445208320d6e114e270fa3c34 |
||||||
|
Salt = NC(Uku)!x7,LUH?oOAGf |
||||||
|
</Pass> |
||||||
|
</User> |
Loading…
Reference in new issue