Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gargron/colorless-chat

Web group chat
https://github.com/gargron/colorless-chat

Last synced: 8 days ago
JSON representation

Web group chat

Awesome Lists containing this project

README

        

Colorless Chat
==============

Based on: Express, Socket.io, Webpack and React.js

Uses Redis as session store and Redis pubsub for potential scalability. If Redis goes down chat goes into local-only mode wherein new connections cannot be authenticated but established ones can keep chatting to each other as long as they're on the same app instance.

Deployable via Docker:

docker run -d --restart=unless-stopped \
-e BRAND="The Colorless" \
-e BASE_URL="http://thecolorless.net" \
-e REDIS_HOST="127.0.0.1" \
-e REDIS_PORT=6379 \
-e PORT=3000 \
--net=host \
gargron/colorless-chat

The above command will start a new docker container with the chat app that will always be restarted unless you manually stop the container, in the background, using the host's network interface (so the specified port will actually be taken up on the host system).

Options:

* BRAND: Name of the site displayed in the title and in the header
* BASE_URL: Used to generate links to the homepage and user profiles
* FAVICON_URL: URL of the page icon (usually .ico file)
* CHANNELS: List of channels in the header in the format `Name:id;Name:id`, by default: `/main/:default;/ru/:russian`
* PORT: Which port the chat application will bind to
* REDIS_PORT: Which Redis port to use
* REDIS_HOST: Which Redis host to use
* CLEAN_SLATE: Clean up all chat-related keys from Redis before starting
* CSS_URL: If set, this stylesheet will be embedded after the default one
* JS_URL: If set, this JS will be loaded after the default ones