fox edited this page 5 days ago

Installation And Usage

Installing using Docker compose

Here's how tt-irc works

  1. Frontend stuff written in PHP runs on your http server and interacts with users
  2. Backend connection daemon makes actual IRC socket connections (optional)
  3. Frontend and backend exchange data through the Redis server so message input/output happens

To run tt-irc you need to place frontend PHP files somewhere on your http server and start the connection daemon in the background.

Those could even be separate machines/containers, as long as they can communicate and backend, if running, is allowed to make outbound TCP connections.

Host installation (not recommended, use docker instead)

First time installation

You will need: Java, PostgreSQL, Maven, PHP, http server of some kind (e.g. nginx).

  • Checkout the source code from Git master branch
  • Install the database schema (psql yourdb < schema/ttirc_schema_pgsql.sql)
  • Copy config.php-dist to config.php and edit it (you’ll need to change the DB_** constants at the very least)
  • Read RunningConnectionDaemon
  • Login with default username and password (admin, password) and setup your users and/or connections. Don’t forget to change the password!
  • For local chat to become usable you only need to set your nickname (i.e. /nick someone).
  • For actual IRC connections you'll need to setup an outbound connection via settings.


  • git pull from the master repository
  • Rebuild and restart the backend daemon (run ant in tt-irc directory)
  • Open tt-irc, login with administrative permissions, and, if prompted, update your database schema.

What to do after you have logged in

  • Change the password of default “admin” user. Optionally create a normal non-administrative user for yourself and log in under it.
  • You can chat with other users on local (instance-wide) channels without any further configuration, except for setting your /nick.
  • If you want to connect to actual IRC servers, setup the connection in preferences (cog icon).

If you have ever used IRC clients before, you should be familiar with the configuration options. Create a connection, add servers, set your nickname, etc. The usual.

How do I connect to the IRC server goddamnit, the UI is too convoluted!

  • Open Preferences (cog icon, top left), set your nick, real name, etc.
  • Scroll preferences dialog to bottom, click [ Create connection ], enter name.
  • After connection is created, select it in the list view, connection editor will open.
  • Within connection editor add IRC servers (click [ Add server ]) and set connection-specific options (if needed).
  • If connection is enabled it should appear in the UI shortly, press [ Connect ] and you're done.
  • Use normal IRC commands like /join to join channels.

Example of a systemd unit to run backend service:

Description=ttirc_backend mysql.service postgresql.service

ExecStart=/usr/bin/java /var/www/html/tt-irc/daemon/target/daemon-1.1.jar