No description
  • Ruby 53.4%
  • JavaScript 12.9%
  • Nix 11.4%
  • Haml 10.3%
  • Sass 8.6%
  • Other 3.4%
Find a file
2026-08-27 12:12:52 +00:00
bin Add SASL support. 2025-12-25 13:41:24 +00:00
config Add SASL support. 2025-12-25 13:41:24 +00:00
lib Use memory store for Sass cache instead of filesystem. 2024-05-19 01:39:10 +00:00
log Initial commit 2011-11-16 19:08:18 +04:00
public Fix highlighting a line range. 2025-05-12 18:00:34 +00:00
scripts Add a weechat log importer. 2021-04-28 14:37:40 +00:00
tmp Initial commit 2011-11-16 19:08:18 +04:00
views use domain name in title 2022-01-26 01:09:19 +00:00
.gitignore Use memory store for Sass cache instead of filesystem. 2024-05-19 01:39:10 +00:00
Gemfile fix: Debian 13 Gemfile versions (modern ruby + GCC) 2026-08-27 12:12:52 +00:00
Gemfile.lock fix: Debian 13 Gemfile versions (modern ruby + GCC) 2026-08-27 12:12:52 +00:00
gemset.nix Add gemset.nix. 2024-05-18 04:55:33 +00:00
MIT-LICENSE Update license years. 2020-09-29 05:16:19 +00:00
README.md Add gemset.nix. 2024-05-18 04:55:33 +00:00
shell.nix Add util-linux (cal) to shell.nix. 2024-05-19 01:26:28 +00:00

irclogger

irclogger is a simple irc logger with a fluid web interface, search function, and a live streaming mode where new messages automatically appear in today's log.

Requirements

  • A Debian-based system (any other *nix can be used, but init scripts are written for Debian)
  • Ruby >= 1.9.3
  • MySQL >= 5 or PostgreSQL >= 9.3
  • Redis >= 2.7
  • Nginx

Installation

  1. Make sure all dependencies are installed and configured.
  2. Create a MySQL database and import the schema from config/sql/mysql-schema.sql, or, create a PostgreSQL database and import the schema from config/sql/postgresql-schema.sql.
  3. Run bundle install --deployment --without postgresql if you use MySQL, or bundle install --deployment --without mysql if you use PostgreSQL.
  4. Copy config/application.yml.example to config/application.yml.
  5. Edit config/application.yml. The fields should be self-documenting.
  6. Copy config/nginx.conf.example to /etc/nginx/sites-enabled/irclogger. Edit the server_name, root and upstream directives to match your setup.
  7. Copy config/init.d/* to /etc/init.d/*. Edit the ROOT and START_ARGS fields to match your setup.
  8. Run update-rc.d irclogger-logger defaults && update-rc.d irclogger-viewer defaults.
  9. Reload nginx confguration.
  10. Start logger and viewer with service irclogger-logger start && service irclogger-viewer start.

Updating configuration

  1. Edit config/application.yml.
  2. Restart logger with service irclogger-logger restart.

FAQ

Messages appear multiple times in the log

Make sure that whatever method you use for restarting the logger does not leave old instances around.

The channel list does not appear in the sidebar

The channel list only appears on the domain that matches the "domain" field in application.yml. This is done to allow pointing other domains to the main one via CNAME, e.g. see logs.jruby.org.

Upgrading

  1. git pull
  2. Read the git log. I will mention if the updates change the schema, include breaking changes, etc.
  3. Run bundle install --deployment.
  4. Restart logger and viewer with service irclogger-logger restart && service irclogger-viewer restart.

Development

After updating Gemfile.lock, run bundix -l to update gemset.nix. At the moment bundix must be run on Nix or from this branch.