Skip to content

Instantly share code, notes, and snippets.

@ItsOnlyBinary
Last active April 10, 2021 13:03
Show Gist options
  • Save ItsOnlyBinary/64a191908e082198291a03b539ac094d to your computer and use it in GitHub Desktop.
Save ItsOnlyBinary/64a191908e082198291a03b539ac094d to your computer and use it in GitHub Desktop.
# clone repos
git clone https://github.com/kiwiirc/kiwiirc.git ~/kiwiirc/kiwiirc
git clone https://github.com/kiwiirc/webircgateway.git ~/kiwiirc/webircgateway
git clone https://github.com/kiwiirc/plugin-fileuploader.git ~/kiwiirc/plugin-fileuploader
# make destination directories
mkdir -p ~/kiwiirc/run/plugins
mkdir -p ~/kiwiirc/run/www
# setup fileupload as plugin
mkdir ~/kiwiirc/webircgateway/plugins/fileuploader
ln -s ~/kiwiirc/plugin-fileuploader/webircgateway-plugin/fileuploader-server.go ~/kiwiirc/webircgateway/plugins/fileuploader/plugin.go
# build webircgateway + plugins
cd ~/kiwiirc/webircgateway/
make build-plugins
make build
# copy binaries and configs
cp ~/kiwiirc/webircgateway/webircgateway ~/kiwiirc/run/
cp ~/kiwiirc/webircgateway/config.conf.example ~/kiwiirc/run/config.conf
cp ~/kiwiirc/webircgateway/plugins/fileuploader.so ~/kiwiirc/run/plugins/
cp ~/kiwiirc/plugin-fileuploader/fileuploader.config.example.toml ~/kiwiirc/run/fileuploader.config.toml
# build kiwiirc and copy files
cd ~/kiwiirc/kiwiirc
yarn; yarn build
cp -r ~/kiwiirc/kiwiirc/dist/* ~/kiwiirc/run/www/
mv ~/kiwiirc/run/www/static/config.json ~/kiwiirc/run/client.json
ln -s ~/kiwiirc/run/client.json ~/kiwiirc/run/www/static/config.json
# build fileuploader client plugin and copy
cd ~/kiwiirc/plugin-fileuploader/fileuploader-kiwiirc-plugin
yarn; yarn build
cp ~/kiwiirc/plugin-fileuploader/fileuploader-kiwiirc-plugin/dist/* ~/kiwiirc/run/www/static/plugins/
cd ~/kiwiirc/run/
# ~/kiwiirc/run/client.json edits
#
# ------------------------------------------------------------------------------------------------
#
# "kiwiServer": "https://localdev.clients.kiwiirc.com/webirc/kiwiirc/",
#
# to
#
# "kiwiServer": "/webirc/kiwiirc/",
#
# ------------------------------------------------------------------------------------------------
#
# "plugins": [
# { "name": "customise", "url": "static/plugins/customise.html" }
# ]
#
# to
#
# "plugins": [
# { "name": "customise", "url": "static/plugins/customise.html" },
# { "name": "fileuploader", "url": "static/plugins/plugin-fileuploader.js" }
# ],
# "fileuploader": {
# "server": "/files",
# "maxFileSize": 10485760,
# "note": "Add an optional note to the upload dialog"
# }
#
# ------------------------------------------------------------------------------------------------
# ~/kiwiirc/run/config.conf edits
#
# ------------------------------------------------------------------------------------------------
#
# [fileserving]
# enabled = false
# webroot = www/
#
# to
#
# [fileserving]
# enabled = true
# webroot = www/
#
# [plugins]
# plugins/fileuploader.so
#
# ------------------------------------------------------------------------------------------------
# also dont forget to edit [upstream.1] to your ircd details
@TimeRider07
Copy link

Could you also please tell what would be the nginx configuration for it to pull it up?

@ItsOnlyBinary
Copy link
Author

https://gist.github.com/ItsOnlyBinary/3e244106bfa4101f70f8a20c2d0e76b3

Notes:
Needs to go into a server block (I have it in its own file then include it into each virtual server I want it to be used on)

also needs webircgateway's config.conf changing to listen on 127.0.0.1:7778 with no tls

@TimeRider07
Copy link

TimeRider07 commented Apr 7, 2021

Hello ItsOnlyBinary.
I managed to install kiwiirc with this process.
Also, I can see the file-uploader plugin in my kiwi chat client but unfortunately the upload fails.
https://app.chatsansar.com

I don't know what went wrong.

I installed multiple kiwiirc (prebuilt binary, github, webircgateway) to check it but nothing works.

Is it supposed to run with command line, ./webircgateway in the /kiwiirc/run/ directory because this does not work;
cp ~/kiwiirc/webircgateway/webircgateway ~/kiwiirc/run/

I mean it does not copy the webircgateway executive.

Please correct me if I am wrong.

Also, in nginx, isn't it is supposed to be
root /home/(user)/kiwiirc/run/www/ instead of root /usr/share/kiwiirc/ ?

Because my /usr/share/kiwiirc/ has its client.json in /etc/kiwiirc/

or even in kiwiirc config.conf
webroot = /home/timerider/kiwiirc/run/www/ instead of webroot = www/ ?

Please, I need some help over it. If by skype or something more convenient.

@TimeRider07
Copy link

kiwi error
Upload failed.

Please see the attachement.

@ItsOnlyBinary
Copy link
Author

you might find life easier if you build fileuploader as a standalone binary, rather than as a webircgateway plugin, see the readme in the fileuploader repo, also might find it easier to get help in #kiwiirc on irc.freenode.net

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment