All Projects → Chatcola-com → chatcola

Chatcola-com / chatcola

Licence: AGPL-3.0 license
chatcola.com messaging server - self-host your messages without multi-domain nightmare!

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to chatcola

alternative-frontends
🔐🌐 Privacy-respecting web frontends for popular services
Stars: ✭ 821 (+3184%)
Mutual labels:  self-hosted, decentralization
Bloom
The simplest way to de-Google your life and business: Inbox, Calendar, Files, Contacts & much more
Stars: ✭ 934 (+3636%)
Mutual labels:  messaging, self-hosted
Xsrv
[mirror] Install and manage self-hosted services/applications, on your own server(s) - ansible collection and utilities
Stars: ✭ 89 (+256%)
Mutual labels:  messaging, self-hosted
uptime-kuma
A fancy self-hosted monitoring tool
Stars: ✭ 27,425 (+109600%)
Mutual labels:  self-hosted
qpid-python
Mirror of Apache Qpid Python
Stars: ✭ 15 (-40%)
Mutual labels:  messaging
gobroker
golang wrapper for all (to-be) kinds of message brokers
Stars: ✭ 15 (-40%)
Mutual labels:  messaging
vscode-dms
Direct Messages for VS Code
Stars: ✭ 88 (+252%)
Mutual labels:  messaging
Muni
Chat with Cloud Firestore
Stars: ✭ 22 (-12%)
Mutual labels:  messaging
stashbox
Your personal Internet Archive
Stars: ✭ 42 (+68%)
Mutual labels:  self-hosted
wombag
Wombag is the alternative, lightweight backend for your Wallabag apps. Wombag supports the Wallabag API.
Stars: ✭ 42 (+68%)
Mutual labels:  self-hosted
phpcollab
Project management and collaboration over the internet.
Stars: ✭ 42 (+68%)
Mutual labels:  self-hosted
Segnalibro
Save and comment your favorite links from the web. It's just a bookmarking application.
Stars: ✭ 14 (-44%)
Mutual labels:  self-hosted
dppm
An easy way to install and manage server applications
Stars: ✭ 107 (+328%)
Mutual labels:  self-hosted
azcc
A toy C compiler, developed at seccamp2020.
Stars: ✭ 19 (-24%)
Mutual labels:  self-hosted
super-mario-message
Display custom messages in a Super Mario Bros environment
Stars: ✭ 18 (-28%)
Mutual labels:  messaging
bin
highly opinionated, minimal pastebin
Stars: ✭ 97 (+288%)
Mutual labels:  self-hosted
gosd
A library for scheduling when to dispatch a message to a channel
Stars: ✭ 21 (-16%)
Mutual labels:  messaging
openbsd-selfhosted
🐡 Shell script for self-hosting cloud, email, and git services
Stars: ✭ 41 (+64%)
Mutual labels:  self-hosted
exatorrent
Easy to Use Torrent Client. Can be hosted in Cloud. Files can be streamed in Browser/Media Player.
Stars: ✭ 1,557 (+6128%)
Mutual labels:  self-hosted
numspy
A python module for sending free sms as well as finding details of mobile number via website Way2sms.
Stars: ✭ 57 (+128%)
Mutual labels:  messaging

Chatcola server

build:passed


This repository hosts the chatcola server needed to self-host reliance and storage of your messaging.

Getting started

With docker (the easier way)

  • run docker install chatcola/chatcola
  • run docker run -e THIS_INSTANCE_ADDRESS={{your instance address here}}

Without docker

  • 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

webrtc:{{YOUR INSTANCE ADDRESS GOES HERE}}

when creating a chatroom at chatcola.com/start

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.

Hosting a http instance

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

  1. Point your domain name (you can get a free one at Freenom.com) to the VPS.

  2. Make a ~/.chatcola-http directory

  3. 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

  4. 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.

Building from source

  1. Clone the repository and run npm install
  2. Make the script executable - chmod +x ./scripts/build
  3. Either run ./scripts/build to build for webrtc or ./scripts/build http for http. Your build will be in build/p2p or build/http.

License

This program is free software. For alternate licensing arrangements contact us at [email protected]

AGPL-3.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].