{"id":17728324,"url":"https://github.com/moeiscool/emissary","last_synced_at":"2025-03-31T16:37:31.024Z","repository":{"id":99294154,"uuid":"83469290","full_name":"moeiscool/Emissary","owner":"moeiscool","description":"The Live Chat Solution written in Node.js","archived":false,"fork":false,"pushed_at":"2018-02-04T16:51:52.000Z","size":4177,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-28T16:55:35.753Z","etag":null,"topics":["customer-support","live-help","redis","sql","websocket"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moeiscool.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-02-28T19:09:56.000Z","updated_at":"2023-07-18T09:07:47.000Z","dependencies_parsed_at":"2023-07-23T23:46:47.734Z","dependency_job_id":null,"html_url":"https://github.com/moeiscool/Emissary","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moeiscool%2FEmissary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moeiscool%2FEmissary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moeiscool%2FEmissary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moeiscool%2FEmissary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moeiscool","download_url":"https://codeload.github.com/moeiscool/Emissary/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246499145,"owners_count":20787454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["customer-support","live-help","redis","sql","websocket"],"created_at":"2024-10-25T19:22:50.706Z","updated_at":"2025-03-31T16:37:31.004Z","avatar_url":"https://github.com/moeiscool.png","language":"JavaScript","readme":"# Emissary\nThe Open Source Live Chat Solution written in Node.js.\n\n# Why make this?\n\nEmissary is made from an early live chat prototype written in PHP called CloudChat. CloudChat was made because the live chat built into our billing platform was not functioning correctly at the time. I, Moe Alam, also needed practice. The alternatives were also lacking in desired structure and practice. I also wanted a self-hosted solution. This was a perfect chance to hone understanding of Websocket. Originally the project started in PHP mainly because that was the only server side language I knew at the time. Now that has changed with Node.js in the picture. I have fully modified the code to not use any PHP. This code is completely written in Node.js, EJS.\n\n# How to Install on Ubuntu\n\n1. Install Redis\n    ```\n    sudo apt-get update\n    sudo apt-get upgrade\n    sudo apt-get install redis-server\n    ```\n\n- Edit Redis conf\n\n    ```\n    sudo nano /etc/redis/redis.conf\n    ```\n\n- Add lines to the bottom and save.\n\n    ```\n    maxmemory 128mb\n    maxmemory-policy allkeys-lru\n    bind-address 127.0.0.1\n    ```\n    \n- Enable and start\n\n    ```\n    sudo systemctl restart redis-server.service\n    sudo systemctl enable redis-server.service\n    ```\n    \n- Install MariaDB (or MySQL)\n\n    ```\n    sudo apt install mariadb-server\n    ```\n    \n- Install Node.js\n\n    ```\n    sudo apt install nodejs npm\n    ```\n\n- Update Node.js and Node Package Manager.\n\n    ```\n    sudo npm cache clean -f\n    sudo npm install -g n\n    sudo n stable\n    npm install npm -g\n    ```\n    \n- Install the Node.js Process Manager, PM2\n    \n    ```\n    \n    npm install pm2 -g\n    ```\n\n- Clone Emissary\n\n    ```\n    git clone https://github.com/moeiscool/Emissary.git -b dev\n    ```\n    \n- Install libraries\n\n    ```\n    npm install\n    ```    \n- Install SQL files. You can replace `root` with your SQL login username.\n\n    ```\n    mysql -u root -e \"source sql/user.sql;source sql/framework.sql\" -p\n    mysql -u root -e \"source sql/framework.sql\" -p\n    mysql -u root -e \"source sql/defaultAccount.sql\" -p\n    ```\n    \n- Setup configuration file. Modify it to reflect your SQL login details.\n\n    ```\n    cp conf.sample.json conf.json\n    ```    \n\n- Start Emissary\n\n    ```\n    pm2 start emissary.js\n    ```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoeiscool%2Femissary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoeiscool%2Femissary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoeiscool%2Femissary/lists"}