1
0
mirror of https://github.com/hack-chat/main.git synced 2024-03-22 13:20:33 +08:00
a minimal, distraction-free chat application
Go to file
2018-05-15 18:19:55 -05:00
client Introducing syntax highlight 2018-05-15 18:19:55 -05:00
server Introducing syntax highlight 2018-05-15 18:19:55 -05:00
CHANGELOG.md misc server changes and new modules 2018-04-28 22:29:46 -07:00
README.md Introducing syntax highlight 2018-05-15 18:19:55 -05:00

Hack.Chat

https://hack.chat/ is a minimal, distraction-free, account-less, log-less, disappearing chat service that is easily deployable as your own service. The client comes bundled with LaTeX rendering provided by https://github.com/Khan/KaTeX.

A list of software developed for the hack.chat framework can be found at: https://github.com/hack-chat/3rd-party-software-list. This includes bots, clients, docker containers & more.

This is a backwards compatible continuation of the work by Andrew Belt https://github.com/AndrewBelt/hack.chat. The server code has been updated to ES6 along with several new features- including new commands and hot-reload of the commands/protocol.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites

The following versions are required:

    node >= 8.10.0
    npm >= 5.7.1

An installation guide for your operating system can be found at: https://nodejs.org/en/download/package-manager/

Installing

First you will first need to clone this git, if you are unfamiliar with this process read https://help.github.com/articles/cloning-a-repository/, or to clone with git:

git clone https://github.com/hack-chat/main.git

Once cloned, the server will need to be setup. Using your terminal run:

cd main/server/
npm install

Or on a Windows machine with Yarn installed:

cd main/server/
yarn install

This will install the required packages to run hack.chat. Next the server will need to be configured, again in your terminal run:

node main.js

The configuration script will execute the initial server setup by requesting input. Follow the steps until it finishes:

Note: npm/yarn run config will re-run this utility.

You will now be asked for the following:
-     Admin Name, the initial admin username
-     Admin Pass, the initial admin password
-           Port, the port for the websocket
-           Salt, the salt for username trip

prompt: adminName:  admin
prompt: adminPass:  ****

prompt: websocketPort:  (6060)
prompt: tripSalt:  ************

Config generated! You may now start the server normally.

Note: if you change the websocketPort option during the config setup then these changes will need to be reflected on line 64 of the client.js.

After the config script runs, the process will exit & the server will need to be relaunched. For a production environment we recommend using PM2 to start the server:

cd main/server/
pm2 start main.js --name HackChat

Launch the client main/client/index.html, you may now begin development or deploy to production environment.

Deployment

After the initial installation and configuration, push everything except the node_modules folder to the live server and re-run:

npm install

You can now run start the server software with a process manager like PM2. The client code will need to be copied into your http server directory. If you plan on using SSL to serve the client; you will need to use a reverse proxy, as TLS is not natively supported by the hack.chat server software (this may change in future releases).

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the WTFPL License - see the http://www.wtfpl.net/txt/copying/ file for details

Acknowledgments