HomeTeamProductsForumSupport

Clover 4.0.0 - Documentation

By Daniele Molinari
Published in Documentation
December 14, 2022
5 min read
Clover 4.0.0 - Documentation

Clover is an instant messaging & conferencing web app with audio / video capabilities, both in one-to-one calls and in group calls with multiple remote peers!

This documentation covers version 4.0.0, sold through CodeCanyon here. If you haven’t purchased it yet, feel free to have a look!

Introduction

First of all, Thank you so much for purchasing this item and for being our loyal customer. You are awesome!

With your purchase, you are entitled to get free lifetime updates to this product.

This documentation will show you all of Clover’s features. Please go through the documentation carefully to understand how to configure your Clover messaging & conferencing system properly. No coding experience is required. In fact, you won’t have to code at all! You will just have to edit a couple of configuration files and run a couple of scripts.

If you have questions or need support, please reach out using forum.honeyside.it, so that your questions will help future users with the same issue. If you don’t want the trouble to go through the installation process yourself, contact us at support@honeyside.it in order to request paid installation service.

We will also answer to support requests via email for free (after requesting proof of purchase). However, we strongly recommend to use our forum, in order to help each other. Proof of purchase is not required for joining the forum or asking questions on the forum, because we value community above bureaucracy.

Requirements

Clover can run on any OS or machine that supports Node.js v18. However, in order to provide a safe environment for the unexperienced user, we recommend using Ubuntu 20.04 LTS or 18.04 LTS. We provide fully automated installation (via installation script) and full installation instructions for Ubuntu 20.04 LTS and 18.04 LTS only.

For the unexperienced user, we recommend buying a cheap Ubuntu 20.04 LTS or 18.04 LTS VPS from OVH, then follow the Automated Install section. Choose a server next to your physical location (if you are in Europe, France is ok). We are not affiliated with OVH and we do not gain commission from your VPS purchase. It just happens to work well at the time of writing.

A domain is required. example.com is fine. clover.example.com is fine. whatever.example.com is fine. You will need to point your domain to your server. If you purchased a VPS from OVH, you will receive an IPv4 address for your VPS. Edit the domain’s DNS records to point at your server (the IPv4 address), then wait 24 hours for propagation.

Clover will not run on a shared hosting. If you do not know the difference between shared hosting and private server, contact us at support@honeyside.it for paid installation service.

If your machine has cPanel or Plesk on it, it will most probably not be compatible with Clover, unless you perform a manual installation and you truly know what you are doing.

Automated installation

Welcome to Clover: messaging & conferencing!

Whether experienced user or not, it is always a pleasure to run a fully automated installation. Please be aware that the automated installer will work only on Ubuntu. We recommend installing Elderberry on a clean server.

Connect to your server via SSH as root user, upload the Elderberry .zip archive and extract it in a location of your choice. cd into that location. Run ./launcher setup and follow instructions on screen.

At the end of the installation process, Elderberry will be reachable on port 4000 and the nginx reverse proxy will be configured for ports 443 and 80.

You can stop Elderberry with ./launcher stop. You can start Elderberry again with ./launcher start. You can restart Elderberry with ./launcher restart.

To upgrade to a newer version, overwrite the folder contents and run ./launcher rebuild.

To elevate your shell to root, use sudo su.

If you get error Command ‘node’ not found run command source ~/.profile then retry.

IMPORTANT: make sure to open at least ports 80 and 443 through your firewall, both on UDP and TCP.

Manual installation

You must have experience in server management to deploy the app manually. Do not attempt this if you do not know what you are doing. Contact us at support@honeyside.it in order to request a paid custom installation service or go back to Automated Installation.

Requirements

You will need the following software installed in order to properly run Clover.

  1. MongoDB: check out MongoDB Community installation instructions.
  2. Build Essential: you will need a C++ compiler and possibly a Python compiler to install certain backend dependencies. In Ubuntu, this is handled using apt-get install build-essential.
  3. Node.js: you will need Node.js v18.21.1 or latest Node.js v18.
  4. Reverse Proxy: you will need a reverse proxy for SSL. You are free to choose between Acacia (developed by Honeyside), nginx and Apache.

The following software is highly recommended:

  1. Yarn: for dependency management, in place of npm.
  2. pm2: for process management.

Installation

  1. Extract archive contents.
  2. Install build essential package or equivalent for your system.
  3. Install Python 3 and Python 3 pip.
  4. Install Node.js v18. Using nvm (Node Version Manager) may help you manage your server later.
  5. cd into backend and yarn or npm install all dependencies.
  6. Copy backend/.env.example into backend/.env
  7. Edit backend/.env according to your needs.
  8. Run backend/index.js.
  9. cd into frontend and yarn or npm install all dependencies.
  10. Copy frontend/.env.example into frontend/.env
  11. Edit frontend/.env according to your needs.
  12. Setup nginx with reverse proxy on port 4002 (default) or to the port of your choice. In Ubuntu, this is handled using apt-get install nginx.
  13. Setup certbot SSL for your domain (required for the meeting to work). In Ubuntu, this is handled using apt-get install certbot python3-certbot-nginx (requires Python 3).
  14. Don’t forget to open port 80 and 443.

Example nginx configuration (before running certbot):

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name elderberry.example.com;
    location / {
        proxy_pass http://localhost:4002;
    }
}

How to run certbot:

sudo certbot --nginx -d elderberry.example.com --non-interactive --agree-tos -m your-email@example.com

A thorough example of installation process is the launcher file. You may want to take a look at that file and edit according to your needs.

Rebranding

In order to rebrand the app, edit the ./frontend/.env configuration file.

Managing Users

When logging in as admin user (the one specified in the automated installer or in the config.js file), you’ll see an administrative tab (CPU icon). You can add new users, edit or delete existing users from here.

Support

Please remember you have purchased a very affordable piece of software and you have not paid for a full-time software development agency. Occasionally we will help with small tweaks, but these requests will be put on a lower priority due to their nature. Support is also 100% optional and we provide it for your connivence, so please be patient, polite and respectful.

Please use the Honeyside Forum for support requests. This way, your questions will be available for all Honeyside users to be read and answered. You will also receive an official answer (or confirmation) from us as soon as possible. If you still prefer to contact us directly, visit our CodeCanyon profile page or ask your question via email at support@honeyside.it. If you choose the Forum, a huge thank you from us in advance!

Support for our items includes:

  • Responding to questions or problems regarding the item and its features
  • Fixing bugs and reported issues
  • Providing updates to ensure compatibility with new software versions

Item support does not include:

  • Customization and installation services
  • Support for third party software and plug-ins

Before seeking support, please…

  • Make sure your question is a valid Clover Issue and not a customization request.
  • Make sure you have read through the documentation and any related video guides before asking support on how to accomplish a task.
  • Make sure to take a look at the Honeyside Forum first.
  • Make sure you are running Clover in a proper Node.js environment. See the Requirements section above for more.
  • If you have customized your Clover installation and now have an issue, back-track to make sure you didn’t make a mistake. If you have made changes and can’t find the issue, please provide us with your changelog.
  • Almost 80% of the time we find that the solution to people’s issues can be solved with a simple “Google Search”. You might want to try that before seeking support. You might be able to fix the issue yourself much quicker than we can respond to your request.
  • Make sure to state the name of the item you are having issues with when requesting support via CodeCanyon.

Changelog

Once again, thank you so much for purchasing Clover!

-----------------------------------------------------------------------------------------
4.0.0 - December 13th, 2022
- 4.0.0 is now MESSAGING-ONLY, 2.7.0 is still stable release for meetings
- removed meetings
- add nginx installer to launcher script
- eslint and prettier refactoring
- switch from random strings to uuid
- minor bug fixing
- dependencies upgrade

2.7.0 - December 13th, 2022
- rename folders to frontend and backend
- add nginx installer to launcher script
- eslint and prettier refactoring
- switch from random strings to uuid
- minor bug fixing
- add json versioning
- dependencies upgrade

2.6.2 - August 25th, 2022
- dependencies upgrade

2.6.1 - July 12th, 2022
- fix image upload (mkdirp promise)
- fix file upload (mkdirp promise)

2.6.0 - July 7th, 2022
- Add eslint with airbnb template
- Apply eslint rules to the whole codebase (full refactoring)
- Introduce React v18
- Introduce React Router v6
- Minor dependencies upgrade
- Node.js 16 support

2.5.2 - March 23rd, 2022
- Fixing crash happening after deleting some users

2.5.1 - October 13th, 2021
- Fixing bug on images upload (caused by dependencies upgrade)

2.5.0 - October 10th, 2021
- Added email password reset (forgot password)
- Popup to change current password from settings

2.4.0 - December 21st, 2020
- New and improved automated installation script with prompts, checks and colors
- Can now login by username (or email), instead of just email
- Added versioning route

2.3.4 - December 17th, 2020
- Fix "Remove" button in rooms list

2.3.3 - December 3rd, 2020
- Fix dependencies in install.sh, update to MongoDB 4.4

2.3.2 - December 2nd, 2020
- Minor server-side bug fixing for meetings
- Honeyside and CodeCanyon links are now automatically hidden when production

2.3.1 - December 1st, 2020
- Fixed issue with typing indicator not showing in some cases

2.3.0 - November 28th, 2020
- Login automatically by using the new /login/{token} route
- Version check in local storage for easier future updates

2.2.0 - November 25th, 2020
- Ubuntu 20.04 is now supported and recommended

2.1.0 - November 10th, 2020
- Add typing indicator
- Support Node.js 14
- Fix word-break in messages
- Disconnect socket.io on logout

2.0.6 - November 5th, 2020
- Fix room and meeting url navigation

2.0.5 - November 2nd, 2020
- If a user gets deleted while being logged in, now it gets automatically logged out
- Minor bug fixing

2.0.4 - October 24th, 2020
- Fixed a bug that could randomly cause a gray screen during multiple peers meetings when a peer left the meeting

2.0.3 - October 11th, 2020
- Fixing minor security issues with rooms
- Fixing message link color in incoming messages

2.0.2 - September 24th, 2020
- Close call when closed by counterpart on ringing or during the meeting
- Prefer TCP transport for better call quality

2.0.1 - September 12th, 2020
- Minor bug fixing

2.0.0 - August 19th, 2020
- Core system rework
- Using mediasoup SFU instead of p2p WebRTC
- Removing TURN server
- Full UI rework
- Fixed emoji picker
- Fixed mobile meetings

1.4.0 - June 2nd, 2020
- Added screen sharing feature

1.3.1 - April 14th, 2020
- Added configuration options for easy rebranding in config file
- Added documentation for rebranding options
- Fixed Electron documentation issues

1.3.0 - March 30th, 2020
- added electron app
- fixed call button issue not appearing on mobile
- added demo mode switch in frontend config, defaults to false
- fixed admin tab issues

1.2.0 - March 5th, 2020
- added administrative tab to create new users, update and delete existing users
- added protected api routes that can be accessed only from the admin user

1.1.1 - February 27th, 2020
- frontend and backend can now be hosted on different servers

1.1.0 - February 14th, 2020
- added audio / video capabilities for mobile
- fixed multiple details visualization issues in Safari
- fixed contact list visualization issue in Safari
- fixed contact list visualization issue on mobile devices

1.0.1 - February 13th, 2020
- minor bug fixing

1.0.0 - February 11th, 2020
- first version
-----------------------------------------------------------------------------------------

Copyright and license

Clover is sold exclusively through CodeCanyon (Envato marketplace), where the CodeCanyon Standard Licenses apply.

You will need one Regular License for each installation of Clover. If you are planning to sell products that will include the Clover original or modified source, you will need an Extended License.

Copyright © Honeyside - All Rights Reserved

Unauthorized copying of the Clover source and/or executable files, via any medium, is strictly prohibited.


Tags

#documentation#clover
Previous Article
Clover 2.7.0 - Documentation
Daniele Molinari

Daniele Molinari

Lead Software Engineer

Table Of Contents

1
Introduction
2
Requirements
3
Automated installation
4
Manual installation
5
Rebranding
6
Managing Users
7
Support
8
Changelog
9
Copyright and license

Related Posts

Elderberry 1.1.0 - Documentation
February 11, 2024
9 min

Quick Links

Our ProductsOur TeamSupport

Social Media

VAT ID IT08510780722 - REA BA-631501 - PEC honeyside@pec.it