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