Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/m1k1o/chat
Lightweight plug & play, self-hosted, zeroconfig node.js chat.
https://github.com/m1k1o/chat
chat docker lightweight nodejs self-hosted socket-io
Last synced: about 1 month ago
JSON representation
Lightweight plug & play, self-hosted, zeroconfig node.js chat.
- Host: GitHub
- URL: https://github.com/m1k1o/chat
- Owner: m1k1o
- License: gpl-3.0
- Created: 2018-03-18T14:09:23.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-12-06T14:20:13.000Z (about 2 months ago)
- Last Synced: 2024-12-06T15:28:01.074Z (about 2 months ago)
- Topics: chat, docker, lightweight, nodejs, self-hosted, socket-io
- Language: JavaScript
- Homepage:
- Size: 1010 KB
- Stars: 35
- Watchers: 7
- Forks: 14
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# chat
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.![screenshot](https://raw.githubusercontent.com/m1k1o/chat/master/screenshot.png)
## docker
```sh
docker run -d \
--name chat \
-p 80:80 \
m1k1o/chat:latest
```## docker-compose
```yml
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
`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.
## How to install
Requirements: `nodejs`, `npm`
1. Clone this repository.
- `git clone https://github.com/m1k1o/chat .`
2. Install server dependencies.
- `npm install`
3. Run server (default port is `80`).
- `npm start [custom_port]`
4. Done, visit your chat in browser.