Need help with scrollback?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

scrollback
570 Stars 161 Forks Other 6.7K Commits 50 Opened issues

Description

Embeddable cross-platform chat for communities

Services available

!
?

Need anything else?

Contributors list

travis status

Scrollback, where communities hang out

Scrollback provides a free-to-use service at scrollback.io. If you’re planning to run a community chat room, you should try it out now!

You can even embed Scrollback room on your webpage/blog.

Install

1. Install dependencies

  • Node.js (0.12 or higher)
  • Postgres (9.4 or higher)
  • Redis
  • Gulp (globally)

2. Create Postgres db and user for scrollback (recommended)

If you skip this step, configure Scrollback to use an existing user and database using the Configure step below.

Sign into

psql
as the administrator account (
postgres
in Linux, the user who installed PostgreSQL in OSX)
CREATE USER scrollback PASSWORD scrollback;
CREATE DATABASE scrollback;
\c scrollback
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO scrollback;

3. Create scrollback tables

psql -U scrollback < tools/pg/sbentity.sql
psql -U scrollback < tools/pg/sbcontent.sql
psql -U scrollback < tools/pg/sbnotes.sql

4. Install npm dependencies

npm install

5. Build the client

gulp

You must rebuild the client every time you change client configuration or modify any of the client code.

6. Run Scrollback

node index.js

Scrollback will print warnings about newrelic (a performance monitoring service) not being configured and about not being able to connect to the IRC and Threader processes. You can ignore them.

If you wish to connect to IRC, run the Scrollback IRC bouncer as root:

sh
node ircClient/server.js
Running as root is necessary because it needs to listen on port 113 (identd) which is required by some IRC networks.

Configure (optional)

Creating

server-config.js
and
client-config.js
files where you can override values from
server-config-defaults.js
and
client-config-defaults.js
. Example:
module.exports = {
    core: {
        name: "scrollback"
    }
}

Contribute to Scrollback

We maintain a wiki that explains Scrollback architecture. It's a work-in-progress so please let us know if there are gaps in the content. Better yet, feel free to send us a Pull Request to make it better.

License

Scrollback is licensed under GNU Affero General Public License. For more information see http://www.gnu.org/licenses/agpl-3.0.html

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.