Skip to content
Embeddable cross-platform chat for communities
Branch: master
Clone or download
harishkumarv and Chandrakanta Shatapathy pinned post hack.
Latest commit aa6caeb Dec 11, 2015
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.git-hooks
anti-abuse
anti-flood
authorizer
browserid-auth
cache
censor
customization [refactor] build: use single .js extension instead of .jsx and .es6 Sep 16, 2015
email
entityloader fixed typo Nov 12, 2015
facebook
featured
github
google
history
hn-entityloader
http
init
irc
ircClient
jws [refactor] dev: remove app-utils Jul 31, 2015
lib
notability
notification
persistence
public Adding the consent screen image. Oct 13, 2015
push-notification
redis-storage
search
sitemap
storage
store
superuser Adding more testcases. Feb 23, 2015
test
testauth
thread-color Fixing the threader bug in handling new conversations. Jun 19, 2015
threader
tools Merge branch 'master' into misc-fixes Dec 4, 2015
translation Adding more testcases. Feb 23, 2015
twitter
ui
upload Don't allow guests to upload files Jun 2, 2015
validator
widget
.babelrc
.brackets.json Add ESLint to brackets config May 8, 2015
.editorconfig
.eslintrc
.gitignore
.hound.yml
.jsbeautifyrc Adding more testcases. Feb 23, 2015
.scss-lint.yml
.travis.yml
LICENSE.md
README.md Manual installation instructions Nov 27, 2015
bower.json
client-config-defaults.js Adding the appName property to config. Oct 13, 2015
client-config-template.js
gulpfile.babel.js
index.js
merge-config.js
newrelic.js
package.json
server-config-defaults.js
server-config-template.js

README.md

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:

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

You can’t perform that action at this time.