Hubl.in alternatives and similar software solutions
Based on the "Custom" category.
Alternatively, view Hubl.in alternatives based on common mentions on social networks and blogs.
-
Mattermost
Mattermost is an open source platform for secure collaboration across the entire software development lifecycle.. -
Zulip
Zulip server and web application. Open-source team chat that helps teams stay productive and focused. -
Jitsi Meet
Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application. -
Centrifugo
Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever. -
Berty
Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network -
Jitsi Video Bridge
Jitsi Videobridge is a WebRTC compatible video router or SFU that lets build highly scalable video conferencing infrastructure (i.e., up to hundreds of conferences per server). -
Rallly
Rallly is an open-source scheduling and collaboration tool designed to make organizing events and meetings easier. -
Live Helper Chat
Live Helper Chat - live support for your website. Featuring web and mobile apps, Voice & Video & ScreenShare. Supports Telegram, Twilio (whatsapp), Facebook messenger including building a bot. -
RetroShare
RetroShare is a Free and Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform. -
Broid
DISCONTINUED. Broid enables rich conversations on all messaging channels within a single schema integration using W3C standards. -
MiAOU
A chat server with OAuth2 authentication, persistent and searchable history, video and audio, markdown formatting, private and public rooms, stars, votes, embedded games, and many other features -
Wirow video conferencing platform
DISCONTINUED. A full featured self-hosted video web-conferencing platform. -
Matrix Console Web
DISCONTINUED. A web client meant to be a showcase of Matrix capabilities, and reference implementation of the Matrix standard. -
GNUNet
DISCONTINUED. GNUnet is an alternative network stack for building secure, decentralized and privacy-preserving distributed applications. Our goal is to replace the old insecure Internet protocol stack. Starting from an application for secure publication of files, it has grown to include all kinds of basic protocol components and applications towards the creation of a GNU internet. https://git.gnunet.org/ -
Syndie
Syndie is an open source system for operating distributed forums, offering a secure and consistent interface to various anonymous and non-anonymous content networks. -
Mumblecop
Stream audio from youtube and soundcloud, simulate dice rolls, or write your own commands with a simple plugin format.
InfluxDB high-performance time series database

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Hubl.in or a related project?
README
Deprecated
!!! This project is deprecated and not maintained anymore !!!
Hubl.in
Hubl.in is a free and open source video conference solution built with love and designed with ethics in mind. It's the best way to initiate a communication anywhere with anybody and brings real time conversation to the next level. Hubl.in allows free communication without additional plugins.
Installation
A complete and more advanced documentation is available at https://linagora.github.io/hublin-doc. The following instructions assumes that you are installing Hublin on a debian distribution.
- clone the repository
git clone https://github.com/linagora/hublin.git
- Install node.js
Hublin uses Node 8. It is highly recommended that you use nvm to install a specific version of node.
nvm use
# will install and use required node version (lts/carbon)
- Go into the project root directory and install project dependencies
npm install
- Install and configure MongoDB
You must install mongoDB. We suggest you to use mongoDB version 2.6.5.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen' | tee /etc/apt/sources.list.d/mongodb.list
apt-get install -y mongodb-org=2.6.5 mongodb-org-server=2.6.5 mongodb-org-shell=2.6.5 mongodb-org-mongos=2.6.5 mongodb-org-tools=2.6.5
service mongod start
- Copy the sample
db.json
configuration file and adapt it to your needs (especially the mongodb URL)
cp config/db.json.sample config/db.json
- Install Redis
apt-get install redis-server
A more advanced deployment using the Janus WebRTC Gateway is possible and described in the Hublin + Janus documentation.
Starting the server
Once all your services are ready and started (Mongo, Redis and optionally Janus), use npm start
to start the server
npm start
Hublin is now available on http://localhost:8080.
Testing
First, install the required npm dependencies (as an administrator):
npm install -g mocha grunt-cli bower karma-cli
You can check that everything works by launching the test suite:
grunt
If you want to launch tests from a single test, you can specify the file as command line argument.
For example, you can launch the backend tests on the test/unit-backend/webserver/index.js
file like this:
grunt test-unit-backend --test=test/unit-backend/webserver/index.js
Note: This works for backend and midway tests.
Some specialized Grunt tasks are also available, check the Gruntfile.js
file for more:
grunt linters # launch hinter and linter against the codebase
grunt test-frontend # only run the fontend unit tests
grunt test-unit-backend # only run the unit backend tests
grunt test-midway-backend # only run the midway backend tests
grunt test # launch all the testsuite
Fixtures
Fixtures can be configured in the fixtures folder and injected in the system using grunt
:
grunt fixtures
Note that this will override all the current configuration resources with the fixtures ones.
Develop
Running grunt dev
will start the server in development mode. Whenever you
make changes to server files, the server will be restarted. Make sure you have
started the mongodb
and redis
services beforehand.
Updating files for distribution
grunt
plugins are used to process files and generate distribution.
You will have to follow some rules to not break the distribution generation which are defined here.
Frontend
Any project frontend JS file which is under frontend/js
and used in a web page must be placed between generator tags.
For example, in frontend/views/meetings/index.pug
file:
// <!--build:js({.tmp,frontend}) meetings.js-->
script(src='/js/modules/user/user.js')
...
script(src='/js/meetings/app.js')
// <!--endbuild-->
The files placed between the two comment lines will be used to generate a meetings.js
file (concatenate and minify all).
Backend
All the files from backend are copied into the dist/backend
folder without any change.
Static files
These folders are pushed in the distribution:
config
templates
If you need to add more, you will have to change the copy:dist
and dist-files
tasks in Gruntfile.js
Create a distribution
To create a distribution with clean environment, minified files and install production dependencies:
grunt dist-all
cd dist
npm install --production
Then you can start the server with npm start
, node server
, or your favorite tool (Kudos to forever).
Docker
Hubl.in is available on the Docker Hub as linagora/hublin
, so you can pull it from there:
docker pull linagora/hublin
Or you can build it from the current git repository
docker build -t linagora/hublin .
The linagora/hublin
container is configured to get the mongodb connection from mongodb://mongo:27017
URL. You can modify the config/db.json
file and adapt to use your own instance, or continue to use Docker and use one of the solutions below.
docker-compose
docker-compose
allows to describe and run distributed applications (cf docker-compose.yml
file).
You can launch Hublin with compose from the current directory:
DOCKER_IP=<YOUR DOCKER IP> docker-compose up
Where DOCKER_IP
is the public IP address where Docker services can be reached. This will be used by Janus to send back the right IP to Web clients (ICE candidates) so that they can communicate with Janus correctly.
Janus with docker
The docker image configured for Janus is available on the Hub as linagora/hublin:janus
.
docker pull linagora/hublin:janus
Or you can build it from the current repository
docker build -t linagora/hublin:janus -f Dockerfile.janus .
You can launch Hublin with Janus and all required services with Docker compose like:
DOCKER_IP=<YOUR DOCKER IP> docker-compose -f docker-compose.yml -f docker-compose.janus.yml up
If you want to launch required services except Hublin container to start it on your own for development purposes for example, you can do:
DOCKER_IP=<YOUR DOCKER IP> docker-compose -f docker-compose.yml -f docker-compose.janus.yml up janus-gateway mongo redis
And then start Hublin
NODE_ENV=dev npm start
Embedding
Want to embed hubl.in on your website? Read more [here](doc/embedding.md).
License
*Note that all licence references and agreements mentioned in the Hubl.in README section above
are relevant to that project's source code only.