Simple plug & play real-time JavaScript chat implemented using Socket.io.
Where simplicity meets usability:
- No user accounts - just enter nickname and join.
- No history saved by default - only logged-in users can see recent history.
- No configuration.
- Only one room - you can't create any other rooms or write PM to others.
- Files sharing is possible - without storing any data on server.
- Emojis - just a few of them.
docker run -d \
--name chat \
-p 80:80 \
m1k1o/chat:latest
version: "3"
services:
chat:
image: m1k1o/chat:latest
restart: unless-stopped
ports:
- 80:80
environment:
CACHE_SIZE: 50 # optional: message count stored. Defaults to zero.
CACHE_SIZE
is optional and determines the number of messages stored on the server. When new users join (or reconnect), that cache is sent to give a brief history. This defaults to zero, but can be set as an environment variable.
If you're not running in a docker container, you can make a .env
file in the project root with CACHE_SIZE=50
in.
Note: This cache will be text or images so be mindful not to set it too high as it could be n images sent to every new user.
Requirements: nodejs
, npm
- Clone this repository.
git clone https://github.com/m1k1o/chat .
- Install server dependencies.
npm install
- Run server (default port is
80
).npm start [custom_port]
- Done, visit your chat in browser.