Skip to content

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
└── .dockerignore

Creating the Dockerfile

Create a Dockerfile in the root of your repository:

FROM jeer/glowing-bear:latest
# Expose the web server port
EXPOSE 80

Alternative Dockerfile with Nginx

For more control, build from the source:

FROM nginx:alpine
# Install git
RUN apk add --no-cache git
# Clone Glowing Bear
RUN git clone https://github.com/glowing-bear/glowing-bear.git /usr/share/nginx/html
# Copy custom nginx configuration
COPY nginx.conf /etc/nginx/conf.d/default.conf
# Expose the web server port
EXPOSE 80

Create 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
*.md
README.md
LICENSE
.gitignore
*.log
.DS_Store

Deploying Glowing Bear on Klutch.sh

Once your repository is prepared, follow these steps to deploy Glowing Bear:

    Push Your Repository to GitHub

    Initialize your repository and push to GitHub:

    Terminal window
    git init
    git add Dockerfile .dockerignore README.md
    git commit -m "Initial Glowing Bear deployment configuration"
    git remote add origin https://github.com/yourusername/glowing-bear-deploy.git
    git push -u origin main

    Create 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:

    • Select HTTP as the traffic type
    • Set the internal port to 80

    Deploy Your Application

    Click Deploy to start the build process. Klutch.sh will:

    • Detect your Dockerfile automatically
    • Build the container image
    • Start the Glowing Bear container
    • Provision an HTTPS certificate

    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:

    1. Enter your WeeChat relay hostname and port
    2. Enter your relay password
    3. Select SSL if your relay uses encryption
    4. Click Connect

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:

  1. Click the Settings icon (gear) in the interface
  2. Customize appearance, notifications, and behavior
  3. Settings are stored in your browser’s local storage

Keyboard Shortcuts

Glowing Bear supports vim-style navigation:

  • Alt+n/p: Switch to next/previous buffer
  • Alt+a: Switch to buffer with activity
  • Ctrl+Enter: Send message
  • Page 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: /relay in 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:

  1. Fork the Glowing Bear repository
  2. Modify CSS files in css/ directory
  3. Update your Dockerfile to use your forked version
  4. 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

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.