WeeChat/Glowing Bear Guide

Glowing Bear is a web frontend for WeeChat 0.4.2 and higher (older WeeChat versions are incompatible). Although the main site can be used to security connect to a WeeChat relay, it is also possible to host Glowing Bear from a home server. This article will walk users through the process of setting up a local Glowing Bear instance on Gentoo Linux.

Concepts
Some knowledge on following topics will be needed in order to complete this guide:


 * WeeChat - As expected, WeeChat is the base Glowing Bear will connect to. Without it this guide is meaningless.
 * Web servers - There are a few choices here: Apache, Lighttpd, or Nginx. Any one of them will get the job done.
 * Git - Git is version control software. It is the primary means of obtaining and then maintaining a local copy of Glowing Bear.
 * Domain name management (optional) - Used to forward information computer looking the local Glowing Bear copy that is behind a firewall.

WeeChat, the software back-end of Glowing Bear, can be hosted locally or by another server on the network. For serious IRC users, yes, they do exist, being on IRC all the time is a must. For more information concerning the IRC user mindset check out the IRC guide.

The web server
Setting up the web server is the most difficult portion of this guide. Thankfully there are other articles that have been written to handle this task. For a the speediest setup using lighttpd is recommended. Glowing Bear does not need a large, dependency heavy HTTP server in order to present a bit of HTML and javascript for a single user use-case.

The goal here is to configure the web server to be reachable at least on the local area network (LAN), but ideally from a wide area network (WAN) which is usually the internet. Remember: it does not matter what web server is used; just that one can be configured to host the Glowing Bear source code.

Travel over to the lighttpd article if further instructions are needed on setting up a simple web server.

Getting Glowing Bear
Now that the web server is ready to rock and roll a simple git clone is needed to pull the Glowing Bear sources from the hosting service to the server's default HTTP directory. In the example below is being used as the main HTTP directory. This location may vary depending on which web server has been chosen to serve Glowing Bear.

Starting the web server
Once the git repository has been cloned the next step is to start the web server and connect via the local area network (LAN).

Use the appropriate command to start the web server. This will very based on which server was chosen. Presuming lighttpd was used:

Access from the WAN
Opening a port through the firewall to the WAN is only necessary if access to Glowing Bear is needed when outside the LAN (home network). Instructions for this will vary from situation to situation, however for the majority of home users this will most likely consist of accessing the home router in order to open the port and send the Glowing Bear traffic to the system running the WeeChat relay. This means the IP address of the machine that is hosting Glowing Bear will need to be known.

Open the port from the WAN (Internet) to the IP address of the host machine. Make sure TCP port 80 is forwarded since that is the standard web traffic port.

If everything was successful Glowing Bear should be accessible by opening a browser of choice and entering the WAN IP as the URL.

Setting up WeeChat
The final step in the process is setting up WeeChat to connect with the relay. If this step is not performed the rest of this article will not be of much practical use since WeeChat serves as the software back-end. If necessary run through the official WeeChat quick start guide before continuing.

Once user information has been configured, WeeChat will need to be set as a relay in order for Glowing Bear to connect. Run the following commands from within a running WeeChat instance to set a relay password and instruct the relay to run on port :

Be sure to replace  in the first command with a non-guessable password. This is important for ensuring secure usage.