This commit is contained in:
Steffen Lange 2024-11-14 16:02:37 +00:00
parent cfe48bd063
commit 4a64e88405
4 changed files with 62 additions and 0 deletions

5
soju/Dockerfile Normal file
View file

@ -0,0 +1,5 @@
FROM alpine:edge
RUN apk --update --no-cache add soju
RUN install -o soju -g soju -d /run/soju
USER soju
ENTRYPOINT ["/usr/bin/soju", "-config", "/etc/soju/config"]

5
soju/conf/config Normal file
View file

@ -0,0 +1,5 @@
hostname irc.codehal.de
db sqlite3 /var/lib/soju/main.db
message-store fs /var/lib/soju/logs/
listen unix+admin://
listen irc+insecure://

49
soju/docker-compose.yml Normal file
View file

@ -0,0 +1,49 @@
version: "3.5"
networks:
proxynet:
volumes:
certstore:
services:
traefik:
image: traefik
container_name: traefik
restart: unless-stopped
command:
--providers.docker=true
--providers.docker.exposedbydefault=false
--providers.file.filename=/etc/traefik/config.toml
--entryPoints.web.address=:80
--entryPoints.irc.address=:6697
--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web
--certificatesresolvers.myresolver.acme.storage=/etc/letsencrypt/acme.json
volumes:
- ./traefik:/etc/traefik:ro
- certstore:/etc/letsencrypt
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- 80:80
- 6697:6697
networks:
- proxynet
soju:
build: .
container_name: soju
restart: unless-stopped
volumes:
- ./conf:/etc/soju:ro
- ./data:/var/lib/soju
networks:
- proxynet
labels:
- traefik.enable=true
# - traefik.docker.network=proxy
- traefik.tcp.routers.soju.rule=HostSNI(`irc.codehal.de`)
- traefik.tcp.routers.soju.entryPoints=irc
- traefik.tcp.routers.soju.tls=true
- traefik.tcp.routers.soju.tls.certresolver=myresolver
- traefik.tcp.routers.soju.tls.options=irc@file
- traefik.tcp.services.soju.loadbalancer.server.port=6667

3
soju/traefik/config.toml Normal file
View file

@ -0,0 +1,3 @@
[tls.options]
[tls.options.irc]
alpnProtocols = ["irc"]