Deploying Glowing Bear
Introduction
Glowing Bear is a modern web frontend for the WeeChat IRC client that allows you to access your IRC conversations from any device with a web browser. Rather than running as a standalone application, Glowing Bear connects directly to your WeeChat instance via the relay plugin, using WebSockets for real-time communication.
Built with pure client-side JavaScript, Glowing Bear provides a sleek, responsive interface that works seamlessly across computers, tablets, and smartphones. All the heavy lifting is done by WeeChat, while Glowing Bear adds modern web features like embedded images, videos, and other rich content.
Key highlights of Glowing Bear:
- Browser-Based Access: Use IRC from any modern web browser without installing software
- Direct WeeChat Connection: Connects via WebSockets to WeeChat’s relay plugin
- Rich Media Embedding: Automatically embeds images, videos, and other content in chat
- Responsive Design: Works on desktop, tablet, and mobile devices
- Desktop Notifications: Get notified of mentions and private messages
- Keyboard Shortcuts: Efficient navigation with vim-style keybindings
- Theme Support: Multiple themes including dark mode
- Connection Persistence: Your IRC session stays connected even when you close the browser
- Self-Hostable: Run your own instance for complete privacy and control
- 100% Open Source: Licensed under GPL-3.0
This guide walks through deploying Glowing Bear on Klutch.sh using Docker, enabling you to access your WeeChat IRC client from anywhere with a secure web interface.
Why Deploy Glowing Bear on Klutch.sh
Deploying Glowing Bear on Klutch.sh provides several advantages:
Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds Glowing Bear without complex orchestration. Push to GitHub and your web IRC client deploys automatically.
HTTPS by Default: Klutch.sh provides automatic SSL certificates, ensuring secure connections between your browser and Glowing Bear, which is essential for connecting to WeeChat relays.
GitHub Integration: Connect your configuration repository directly from GitHub. Updates to your Dockerfile trigger automatic redeployments.
Always-On Availability: Your Glowing Bear interface remains accessible 24/7 from any device.
Custom Domains: Assign a custom domain for easy access to your IRC web client.
No Backend Required: Glowing Bear is a static web application that connects directly to your WeeChat relay, requiring minimal server resources.
Prerequisites
Before deploying Glowing Bear on Klutch.sh, ensure you have:
- A Klutch.sh account
- A GitHub account with a repository for your Glowing Bear configuration
- A running WeeChat instance with the relay plugin configured
- WeeChat version 0.4.2 or higher (2.9+ recommended)
- Basic familiarity with Docker and containerization concepts
Understanding Glowing Bear Architecture
Glowing Bear operates differently from traditional web applications:
Static Web Application: Glowing Bear is built entirely with client-side JavaScript, HTML, and CSS. There’s no server-side processing required.
WebSocket Connection: The browser connects directly to your WeeChat relay using WebSockets. No data passes through the Glowing Bear server.
WeeChat Relay Plugin: WeeChat’s relay plugin provides the API that Glowing Bear uses to send and receive messages.
No Intermediate Server: Because the connection is direct from browser to WeeChat, your messages are never stored on the Glowing Bear server.
Setting Up WeeChat Relay
Before deploying Glowing Bear, configure WeeChat’s relay plugin. In your WeeChat instance, run:
/relay add weechat 9001/set relay.network.password "your-secure-password"For SSL connections (recommended):
/relay add ssl.weechat 9001/set relay.network.password "your-secure-password"Ensure your WeeChat relay is accessible from the internet or configure appropriate network routing.
Preparing Your Repository
To deploy Glowing Bear on Klutch.sh, create a GitHub repository containing your Dockerfile.
Repository Structure
glowing-bear-deploy/├── Dockerfile├── README.md└── .dockerignoreCreating the Dockerfile
Create a Dockerfile in the root of your repository:
FROM jeer/glowing-bear:latest
# Expose the web server portEXPOSE 80Alternative Dockerfile with Nginx
For more control, build from the source:
FROM nginx:alpine
# Install gitRUN apk add --no-cache git
# Clone Glowing BearRUN git clone https://github.com/glowing-bear/glowing-bear.git /usr/share/nginx/html
# Copy custom nginx configurationCOPY nginx.conf /etc/nginx/conf.d/default.conf
# Expose the web server portEXPOSE 80Create an nginx.conf file:
server { listen 80; server_name _; root /usr/share/nginx/html; index index.html;
location / { try_files $uri $uri/ /index.html; }
# Enable gzip compression gzip on; gzip_types text/plain text/css application/json application/javascript text/xml application/xml;}Creating the .dockerignore File
Create a .dockerignore file:
.git.github*.mdREADME.mdLICENSE.gitignore*.log.DS_StoreDeploying Glowing Bear on Klutch.sh
Once your repository is prepared, follow these steps to deploy Glowing Bear:
- Select HTTP as the traffic type
- Set the internal port to 80
- Detect your Dockerfile automatically
- Build the container image
- Start the Glowing Bear container
- Provision an HTTPS certificate
- Enter your WeeChat relay hostname and port
- Enter your relay password
- Select SSL if your relay uses encryption
- Click Connect
Push Your Repository to GitHub
Initialize your repository and push to GitHub:
git initgit add Dockerfile .dockerignore README.mdgit commit -m "Initial Glowing Bear deployment configuration"git remote add origin https://github.com/yourusername/glowing-bear-deploy.gitgit push -u origin mainCreate a New Project on Klutch.sh
Navigate to the Klutch.sh dashboard and create a new project. Give it a descriptive name like “glowing-bear” or “irc-client”.
Create a New App
Within your project, create a new app. Connect your GitHub account if you haven’t already, then select the repository containing your Glowing Bear Dockerfile.
Configure HTTP Traffic
Glowing Bear serves static content over HTTP. In the deployment settings:
Deploy Your Application
Click Deploy to start the build process. Klutch.sh will:
Access Glowing Bear
Once deployment completes, access your Glowing Bear instance at https://your-app-name.klutch.sh.
Connect to WeeChat
In the Glowing Bear interface:
Configuring Glowing Bear
Connection Settings
When connecting to your WeeChat relay:
- Host: Your WeeChat server’s hostname or IP address
- Port: The relay port (default: 9001)
- Password: The relay password set in WeeChat
- SSL: Enable for encrypted connections (recommended)
Interface Customization
Glowing Bear offers several customization options:
- Click the Settings icon (gear) in the interface
- Customize appearance, notifications, and behavior
- Settings are stored in your browser’s local storage
Keyboard Shortcuts
Glowing Bear supports vim-style navigation:
Alt+n/p: Switch to next/previous bufferAlt+a: Switch to buffer with activityCtrl+Enter: Send messagePage Up/Down: Scroll chat history
Security Considerations
WeeChat Relay Security
- Use SSL: Always enable SSL on your WeeChat relay when accessing over the internet
- Strong Password: Use a strong, unique password for the relay
- Firewall Rules: Restrict relay access to known IP addresses if possible
- Regular Updates: Keep WeeChat updated for security patches
Glowing Bear Security
- HTTPS Access: Always access Glowing Bear over HTTPS (automatic on Klutch.sh)
- Browser Security: Use a secure, updated browser
- Don’t Store Passwords: Avoid saving relay passwords in shared browsers
Troubleshooting Common Issues
Cannot Connect to WeeChat Relay
Symptoms: Connection fails or times out.
Solutions:
- Verify WeeChat relay is running:
/relayin WeeChat - Check firewall allows incoming connections on the relay port
- Ensure the relay hostname is correct and resolves properly
- Verify SSL settings match on both ends
- Check relay password is correct
Connection Drops Frequently
Symptoms: Glowing Bear disconnects randomly.
Solutions:
- Check network stability between browser and WeeChat
- Verify WeeChat relay configuration
- Update to WeeChat 2.9+ for better relay stability
- Check for proxy or firewall issues with WebSocket connections
Missing Messages or Buffers
Symptoms: Some channels or messages don’t appear.
Solutions:
- Refresh the page to resync with WeeChat
- Check WeeChat buffer configuration
- Verify relay protocol settings
- Update Glowing Bear to the latest version
SSL Certificate Errors
Symptoms: Browser shows security warnings when connecting.
Solutions:
- Use a valid SSL certificate for WeeChat relay
- Configure WeeChat with Let’s Encrypt certificates
- If using self-signed certificates, add exceptions in your browser
Advanced Configuration
Custom Themes
Create custom CSS themes by forking Glowing Bear and modifying the stylesheets:
- Fork the Glowing Bear repository
- Modify CSS files in
css/directory - Update your Dockerfile to use your forked version
- Redeploy on Klutch.sh
Mobile Optimization
Glowing Bear works well on mobile devices:
- Use landscape mode for better channel navigation
- Enable push notifications for mentions
- Consider a progressive web app (PWA) setup for home screen access
Additional Resources
- Official Glowing Bear Website
- Glowing Bear GitHub Repository
- WeeChat Documentation
- WeeChat Relay Protocol
- Klutch.sh Deployments
Conclusion
Deploying Glowing Bear on Klutch.sh gives you a modern, accessible web interface for your WeeChat IRC client. The combination of WeeChat’s powerful IRC capabilities and Glowing Bear’s sleek web interface means you can stay connected to your IRC channels from any device.
With HTTPS encryption, responsive design, and rich media embedding, Glowing Bear transforms the IRC experience for the modern web. Whether you’re checking messages on your phone during commute or participating in channels from your desktop, Glowing Bear on Klutch.sh keeps your IRC accessible and secure.