1.7 KiB
Setting up gamja
An HTTP server must be configured to serve the gamja static files. Usually, the same HTTP server is used as a reverse proxy for the IRC WebSocket.
soju
Add a WebSocket listener to soju, e.g. listen ws+insecure://127.0.0.1:8080
.
Then configure your reverse proxy to serve gamja files and proxy /socket
to
soju.
webircgateway
Setup webircgateway to serve gamja files:
[fileserving]
enabled = true
webroot = /path/to/gamja
Then configure gamja to connect to /webirc/websocket/
(either by setting
server.url
in the configuration file, or by appending
?server=/webirc/websocket/
to the URL).
nginx
If you use nginx as a reverse HTTP proxy, make sure to bump the default read timeout to a value higher than the IRC server PING interval. Example:
location / {
root /path/to/gamja;
}
location /socket {
proxy_pass http://127.0.0.1:8080;
proxy_read_timeout 600s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
If you are unable to configure the proxy timeout accordingly, or if your IRC
server doesn't send PINGs, you can set the server.ping
option in
config.json
(see below).
kimchi
Setup kimchi to serve gamja files and proxy the WebSocket connection:
site irc.example.org {
file_server /path/to/gamja
}
site irc.example.org/socket {
reverse_proxy http://127.0.0.1:8080
}