~mapperr/dockerfiles

7cfaf01f221285afb2ecdd8d1149c171939859bb — mapperr 2 years ago b237295 master
Fix soju cert
5 files changed, 37 insertions(+), 6 deletions(-)

M soju/Dockerfile
M soju/README.md
A soju/build.sh
A soju/entrypoint.sh
A soju/run.sh
M soju/Dockerfile => soju/Dockerfile +2 -5
@@ 5,14 5,11 @@ RUN apk update &&\
    git clone https://git.sr.ht/~emersion/soju && \
    cd soju && \
    make && \
    openssl req -new -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes \
        -out cert.pem -keyout key.pem \
       -subj "/CN=soju" && \
    echo 'tls /soju/cert.pem /soju/key.pem' > soju.conf && \
    echo 'sql sqlite3 /sojudb/soju.db' >> soju.conf && \
    echo 'listen 0.0.0.0:6697' >> soju.conf && \
    mkdir /sojudb
    
COPY ./entrypoint.sh /entrypoint.sh
EXPOSE 6697
CMD ["/soju/soju", "-config", "/soju/soju.conf"]
ENTRYPOINT /entrypoint.sh


M soju/README.md => soju/README.md +2 -1
@@ 4,7 4,7 @@ https://sr.ht/~emersion/soju

## Build the image

    docker build -t whatever/you:want .
    docker build -t mapperr/soju:latest .

## Using the image



@@ 14,6 14,7 @@ Suppose you tagged the image as `mapperr/soju:latest`:
        --name soju \
        -p 6697:6697 \
        -v $PWD/sojudb:/sojudb \
        -v $PWD/cert:/cert \
        mapperr/soju:latest

then create a user with:

A soju/build.sh => soju/build.sh +4 -0
@@ 0,0 1,4 @@
#! /bin/sh

docker build -t mapperr/soju:latest .


A soju/entrypoint.sh => soju/entrypoint.sh +20 -0
@@ 0,0 1,20 @@
#! /bin/sh

certfile="/cert/cert.pem"
keyfile="/cert/key.pem"

if [ -f "$certfile" ] && [ -f "$keyfile" ]; then
    echo 'cert already present'

else
    openssl req -new \
        -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes \
        -out $certfile \
        -keyout $keyfile \
       -subj "/CN=soju"
fi

echo "tls $certfile $keyfile" >> /soju/soju.conf

/soju/soju -config /soju/soju.conf


A soju/run.sh => soju/run.sh +9 -0
@@ 0,0 1,9 @@
#! /bin/sh

docker run -d \
    --name soju \
    --restart unless-stopped \
    -p 6697:6697 \
    -v $PWD/sojudb:/sojudb \
    -v $PWD/cert:/cert \
    mapperr/soju:latest