Verified Commit 1d3917bc authored by Jan-Eric Ortgies's avatar Jan-Eric Ortgies
Browse files

add docker-compose config

parent a32c13b9
FROM node:13 AS builder-web
WORKDIR /build
RUN git clone https://github.com/kiwiirc/kiwiirc.git
RUN cd kiwiirc && yarn install && yarn run build
FROM golang:1.14 as builder-app
WORKDIR /build
RUN git clone https://github.com/kiwiirc/webircgateway.git
RUN cd webircgateway && CGO_ENABLED=0 go build
FROM alpine:latest
WORKDIR /app
COPY --from=builder-web /build/kiwiirc/dist /app/www
COPY --from=builder-app /build/webircgateway/webircgateway /app/webircgateway
EXPOSE 80
CMD ["/app/webircgateway"]
# 1 = Debug; 2 = Info; 3 = Warn;
logLevel = 3
# Enable the built in identd server (listens on port 113)
identd = false
# The name of this gateway as reported in WEBIRC to IRC servers
gateway_name = "webircgateway"
# A secret string used for generating client JWT tokens. Do not share this!
secret = ""
# Send the server a quit message when the client is closed
# Comment out to disable
send_quit_on_client_close = "Client closed"
[verify]
recaptcha_secret = ""
recaptcha_key = ""
# If required, a client must always pass a captcha challenge before making an IRC connection
required = false
[clients]
# Default username / realname for IRC connections. If disabled it will use
# the values provided from the IRC client itself.
# %a will be replaced with the users ip address
# %h will be replaced with the users hostname
# %i will be replaced with a hexed value of the users IP
# %n will be replaced with the client provided nick
#username = "%i"
#realname = "I am a webchat user"
# This hostname value will only be used when using a WEBIRC password
#hostname = "%h"
# The websocket / http server
[server.1]
bind = "0.0.0.0"
port = 80
# Example TLS server
#[server.2]
#bind = "0.0.0.0"
#port = 443
#tls = true
#cert = server.crt
#key = server.key
# If you don't have a certificate, uncomment the below line to automatically generate a
# free certificate using letsencrypt.com (overrides the above cert/key options). This requires
# a server running on port 80 to initially generate the certificate.
#letsencrypt_cache = ./certs
# Example unix socket server
#[server.3]
#bind = unix:/tmp/webircgateway.sock
#bind_mode = 0777
# Serve static files from a web root folder.
# Optional, but handy for serving the Kiwi IRC client if no other webserver is available
[fileserving]
enabled = true
webroot = www/
[transports]
websocket
sockjs
kiwiirc
# Websites (hostnames) that are allowed to connect here
# No entries here will allow any website to connect.
# Origins do not include a trailing / after the host (and optional port)
[allowed_origins]
#"*://example.com"
# If using a reverse proxy, it must be whitelisted for the client
# hostnames to be read correctly. In CIDR format.
# The user IPs are read from the standard X-Forwarded-For HTTP header
[reverse_proxies]
127.0.0.0/8
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
"::1/128"
"fd00::/8"
# Connections will be sent to a random upstream
[upstream.1]
hostname = "irc"
port = 6667
tls = false
# Connection timeout in seconds
timeout = 5
# Throttle the lines being written by X per second
throttle = 2
webirc = ""
serverpassword = ""
# A public gateway to any IRC network
# If enabled, Kiwi IRC clients may connect to any IRC network (or a whitelisted
# network below) through the kiwiirc engine
[gateway]
enabled = false
timeout = 5
throttle = 2
# Whitelisted IRC networks while in public gateway mode
# If any networks are in this list then connections can only be made to these
[gateway.whitelist]
#irc.example.com
#*.example2.com
[gateway.webirc]
irc.network.org = webirc_password
irc.network2.org = webirc_password
[dnsbl]
# "verify" - if the client supports it, tell it to show a captcha
# "deny" - deny the connection entirely
action = verify
[dnsbl.servers]
dnsbl.dronebl.org
{
"windowTitle": "Kiwi IRC - The web IRC client",
"startupScreen": "welcome",
"kiwiServer": "https://irc.ortgies.it/webirc/kiwiirc/",
"restricted": false,
"theme": "Dark",
"themes": [
{ "name": "Default", "url": "static/themes/default" },
{ "name": "Dark", "url": "static/themes/dark" },
{ "name": "Coffee", "url": "static/themes/coffee" },
{ "name": "GrayFox", "url": "static/themes/grayfox" },
{ "name": "Nightswatch", "url": "static/themes/nightswatch" },
{ "name": "Osprey", "url": "static/themes/osprey" },
{ "name": "Radioactive", "url": "static/themes/radioactive" },
{ "name": "Sky", "url": "static/themes/sky" },
{ "name": "Elite", "url": "static/themes/elite" }
],
"startupOptions" : {
"channel": "#hsbhv-infrastruktur",
"nick": "infra-n?"
},
"embedly": {
"key": ""
},
"plugins": [
{ "name": "customise", "url": "static/plugins/customise.html" }
]
}
version: '3'
services:
app:
build:
context: ./
dockerfile: Dockerfile
volumes:
- ./config.json:/app/www/static/config.json:ro
- ./config.conf:/app/config.conf:ro
ports:
- 80:80
irc:
image: inspircd/inspircd-docker
environment:
- "INSP_NET_SUFFIX=.ortgies.it"
- "INSP_NET_NAME=Infrastruktur IRC"
- "INSP_SERVER_NAME=irc.ortgies.it"
- "INSP_ADMIN_NAME=Jan-Eric Ortgies"
- "INSP_ADMIN_NICK=janeric"
- "INSP_ADMIN_EMAIL=janeric@ortgies.it"
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment