chatcola.com messaging server - self-host your messages without multi-domain hell!
This repository hosts the chatcola server needed to self-host reliance and storage of your messaging.
docker install chatcola/chatcola
docker run -e THIS_INSTANCE_ADDRESS={{your instance address here}}
Install node.js 14:
Linux / MacOS:
curl -s https://install-node.now.sh | bash -s --
Windows: download installer from here
Install chatcola p2p server:
npm install -g chatcola-server
Run the server
chatcola-server
If you plan to use the server for longer (i.e. raspberry pi), daemonize it with some process manager, for example:
$ npm install -g pm2
$ pm2 run "chatcola-server"
you will be asked for instance address, give it a string that’s easy for you to remember (it can be anything provided no one has taken it before, i.e. “foobar”) -
To host the chatroom on your instance insert
For example, if you have address foobar, then you will have to insert webrtc:foobar
If you want to change the address later run the server with the --resetAddress
flag:
chatcola-server --resetAddress
you will be then guided through the process of assigning address again. Note that all chatrooms created beforehand will be left fatherless and impossible to use again.
This comes a bit harder than hosting a webrtc instance, but provides a more performant and probably more stable experience.
You’ll need a linux computer (probably a VPS) with a public IP
Point your domain name (you can get a free one at Freenom.com)
to the VPS.
Make a ~/.chatcola-http
directory
Copy your SSL cert files (they need to be named fullchain.pem
for the cert and privkey.pem
for the private key) to ~/.chatcola-http
directory
At this point you should have already installed chatcola-server
from npm and prepared your home directory to look like so:
/home/<your-username>/
├── .chatcola-http/ # <----- notice the dot
│ ├── privkey.pem
| |── fullchain.pem
You are now ready to launch the chatcola server.
Run
chatcola-server-http
Available options are:
PORT
- if using this, then also remember to change the port from 7777
in THIS_INSTANCE_ADDRESS
. So if you set PORT
to be, for example, 5050
and you have domain example.com
, you have to set THIS_INSTANCE_ADDRESS
to example.com:5050
. You can do a reverse proxy with nginx/apache/caddy and bind port 443 to your chatcola instance, then you won’t have to specify the port in this variable.
SHOULD_REPORT_ERRORS
Set this to false
to disable our sentry.
Both of them should be set as environent variables.
npm install
chmod +x ./scripts/build
./scripts/build
to build for webrtc or ./scripts/build http
for http. Your build will be in build/p2p
or build/http
.This program is free software. For alternate licensing arrangements contact us at freedom@chatcola.com