Skip to content
This repository has been archived by the owner on Mar 17, 2023. It is now read-only.

Commit

Permalink
Moved wiki to Docs
Browse files Browse the repository at this point in the history
  • Loading branch information
marceloschmidt committed Apr 6, 2016
1 parent 3683870 commit b725aae
Show file tree
Hide file tree
Showing 70 changed files with 2,475 additions and 213 deletions.
148 changes: 148 additions & 0 deletions 1. How can I help?/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
### How can I help?

### Contributing
First of all, thanks! It's really awesome that you're interested in contributing to Rocket Chat. If this is the first Open Source project you will contribute to, it'd be cool if you read GitHub's excellent guide ["Contributing to Open Source"](https://guides.github.com/activities/contributing-to-open-source/).

#### Getting Started
You can find Rocket.Chat repositories [here] (https://github.com/RocketChat). If you see some issue you are willing to work on, just comment on it. We will add an [In Progress label](https://github.com/RocketChat/Rocket.Chat/labels/stat%3A%20in%20progress), and that's it! Want a simple task to get you started? [We maintain a list of those](https://github.com/RocketChat/Rocket.Chat/labels/contrib%3A%20easy)!

**You don't have to write code to contribute!**
We are always looking for help with creating or updating documentation, testing our apps (web, desktop and mobile) and reporting bugs.

**Submitting Pull Requests**
For contributions to code or documentation, you can fork the material, apply your contribution, and submit a [Pull Request] (https://help.github.com/articles/using-pull-requests/).

**Submitting Bug Reports**
We appreciate any & all bug reports! Did you find a bug? Reporting is easy! Simply open an [Issue] (https://github.com/RocketChat/Rocket.Chat/issues) in the applicable repository.

Here are some suggested things to include, when applicable, which may help us troubleshoot a problem:

* Operating System / Version / Architecture (64 bit?)
* Browser type & Version (if web app), any browser add-ons which may be involved (e.g. AdBlocker, NoScript, etc.)
* Desktop Environment (if desktop app) / Version
* Rocket.Chat edition / Version or [build number] (/3.%20Support%2Frelease_version_info.md)
* Expected behavior vs. Actual behavior (In other words, the "bug")
* Can it be reproduced? If yes, how?
* Relevant snippets from your error logs
* Screen shots if helpful to communicate the problem

#### Rocket.Chat At-A-Glance
* [issues](https://github.com/RocketChat/Rocket.Chat/issues) categorize bug reports.
* [labels](https://github.com/RocketChat/Rocket.Chat/labels) organize what we're doing.
* [milestones](https://github.com/RocketChat/Rocket.Chat/milestones) control priority.

#### Need Priority Features or Bug fixes?
You can place a bounty on an issue you care about: https://www.bountysource.com/teams/rocketchat

### Promoting Rocket.Chat
If you are not a developer (or even if you are), you can still contribute to the project, a lot, by helping us promote it. As we are a free open source project, the community is our most important asset, so here are some ways that you can help the project continue to grow.

**Please use this as a to-do list, as they are important**

#### Follow us

Please follow us on as many social networks as you can:

* Facebook - https://www.facebook.com/RocketChatApp
* Twitter - https://twitter.com/RocketChatApp
* Google+ - https://plus.google.com/+RocketChatApp
* CrunchBase - https://www.crunchbase.com/organization/rocket-chat
* Angel.co - https://angel.co/rocket-chat
* LinkedIn - https://www.linkedin.com/company/rocket-chat

#### Vote, recommend, favorite and star us

And vote for us on all these various polls and contests:

* GitHub - https://github.com/RocketChat/Rocket.Chat
* ProductHunt - http://www.producthunt.com/tech/rocket-chat
* Bitnami - https://bitnami.com/contest/applications/13576/vote/now
* Slant - http://www.slant.co/topics/3346/~what-are-the-best-on-site-alternatives-to-slack
* StackShare - http://stackshare.io/stackups/lets-chat-vs-rocketchat-vs-mattermost
* Reddit - https://redd.it/3hbdrc
* StackExchange - http://softwarerecs.stackexchange.com/questions/18754/
* DockerHub - https://hub.docker.com/_/rocket.chat/
* AlternativeTo - https://alternativeto.net/software/rocket-chat/

#### Blog about us

Here are some nice blog posts about our project for you to get some inspiration:

* http://www.thehacktoday.com/how-to-install-rocket-chat-make-your-own-chatting-website
* https://sameroom.io/blog/self-hosted-team-chat-options-and-alternatives
* http://blog.geekgonecrazy.com/2015/09/19/osx-setup/#rocketchat
* https://snowulf.com/2015/09/25/why-slack-when-you-can-rocket-chat/
* http://liminality.xyz/self-hosting/

#### Presentations

* http://slides.com/gabrielengel/meteordevshop#/

#### Deployed in Websites:
* Investment and Trading Chat Room http://seekingoptions.com

### Reporting Security Issues
First of all, thanks in advance for taking the time and effort help us improve the security of Rocket.Chat! We are committed to delivering an awesome and secure chat solution for, and aided by, our community.

Given the nature of Chat, we understand each person using Rocket.Chat has some expectation about their data being secure and private. It's clear how important this is to everyone, and we work to the best of our abilities to ensure your expectations are met.

#### If you find a Security Issue
> __Please email the details to Rocket.Chat's security team at security@rocket.chat__
Our security team will respond to confirm receipt of your message, review and plan the mitigation of the issue appropriately, as well as set a timeline for a new release or patch.

We follow responsible disclosure and will credit researchers when a security issue has been identified and mitigated while adhering to the following specifics:

- You may not use automated tools in your research without our explicit consent. Use of automated tools may result in investigative action or your IP(s) being blocked.
- You make a good faith effort to avoid privacy violations, destruction of data and interruption or degradation of our service during your research.
- You give us reasonable time to respond to your report and carry out remediation.
- We credit the first researcher to report an issue. Additionally, we reserve the right to only acknowledge researchers who discover issues in Rocket.Chat projects or related services, if we determine the issue to be of a high or critical severity, or if there has been continued research or contributions made by the reporter.
- We will credit you with your name and a "no-follow" link to the address of your choosing (e.g. Twitter or personal website).
- We will not bring any lawsuit or begin law enforcement investigation into you if you follow these parameters.

#### What details should you include when reporting a Security Issue
Please provide as many relevant details as you can. In particular:

- What versions of software are involved
- What steps someone can follow to go from an initial installation of that software to a point where they see the vulnerability
- Any patches or steps to mitigate the problem

#### WhiteHat Hall-of-Fame
Rocket.Chat is very grateful for the following people who have responsibly disclosed vulnerabilities to us:

- [Matt Austin](http://m-austin.com), October/2015.
- [Kamran Saifullah](https://pk.linkedin.com/in/kamransaifullah786), November/2015.
- [Sabri Haddouche](https://github.com/pwnsdx), November/2015.

Thank you all very much!

### Getting Support
Every new build now includes version information.

For now, it can be accessed directly via : `http://<your server name>/api/info`

A sample output of the version information:

```
{
"version": "0.8.0",
"compile": {
"date": "2015-12-11T23:57:49.792Z",
"nodeVersion": "v0.10.40",
"arch": "x64",
"platform": "linux",
"osRelease": "3.13.0-52-generic",
"totalMemmory": 8373084160,
"freeMemmory": 241037312,
"cpus": 4
},
"commit": {
"hash": "b023db6f9321194dcb3db5128b62abbc3bafdc2f",
"date": "Fri Dec 11 21:52:55 2015 -0200",
"author": "Gabriel Engel",
"subject": "Merge pull request #1627 from jgerle/develop"
},
"tag": "v0.8.0",
"branch": "develop"
}
```
5 changes: 3 additions & 2 deletions 1. How can I help?/Reporting Security Issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ Given the nature of Chat, we understand each person using Rocket.Chat has some e
### If you find a Security Issue
> __Please email the details to Rocket.Chat's security team at security@rocket.chat__
Our security team will respond to confirm receipt of your message, review and plan the mitigation of the issue appropriately, as well as set a timeline for a new release or patch.
Our security team will respond to confirm receipt of your message, review and plan the mitigation of the issue appropriately, as well as set a timeline for a new release or patch.

We follow responsible disclosure and will credit researchers when a security issue has been identified and mitigated while adhering to the following specifics:
We follow responsible disclosure and will credit researchers when a security issue has been identified and mitigated while adhering to the following specifics:

- You may not use automated tools in your research without our explicit consent. Use of automated tools may result in investigative action or your IP(s) being blocked.
- You make a good faith effort to avoid privacy violations, destruction of data and interruption or degradation of our service during your research.
Expand All @@ -30,5 +30,6 @@ Rocket.Chat is very grateful for the following people who have responsibly discl
- [Matt Austin](http://m-austin.com), October/2015.
- [Kamran Saifullah](https://pk.linkedin.com/in/kamransaifullah786), November/2015.
- [Sabri Haddouche](https://github.com/pwnsdx), November/2015.
- [Dennis Brakhane](https://inoio.de), February/2016.

Thank you all very much!
Empty file added 2. Getting Support/README.md
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,5 @@ A sample output of the version information:
"branch": "develop"
}
```

_For more information about specific releases and tags please visit the [releases page](https://github.com/RocketChat/Rocket.Chat/releases)_
File renamed without changes.
1 change: 1 addition & 0 deletions 3. Installing and Updating/Deploy-Rocket.Chat-to-UBUNTU.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
See [Deploy Rocket.Chat without docker](https://github.com/RocketChat/Rocket.Chat/wiki/Deploy-Rocket.Chat-without-docker) for more details.
200 changes: 200 additions & 0 deletions 3. Installing and Updating/Deploy-Rocket.Chat-without-docker.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
### NOTE:

Please only use this guide if you are comfortable with deploying applications to Ubuntu using the command line.

There are easier deployment options such as:

* [Sandstorm](https://apps.sandstorm.io/app/vfnwptfn02ty21w715snyyczw0nqxkv3jvawcah10c6z7hj1hnu0), you can have a server for your family and friends running in 4 seconds.
* [Cloudron](https://cloudron.io/appstore.html#chat.rocket.cloudronapp), you can install and receive automatic updates on your Cloudron Smartserver.
* [Heroku one click deploy](https://heroku.com/deploy?template=https://github.com/RocketChat/Rocket.Chat/tree/master), you can run and operate a small server instance on their FREE (or low cost) plans.

Another option, you can request for a beta of Rocket.Chat hosting service - you can have a server up and running, professionally managed, without installations, configuration, maintenance and management head-aches. Just send an email to support@rocket.chat and request for _"Hosting beta"_.

This guide explains how to deploy your own Rocket.Chat instance to a Ubuntu Linux machine using the command line.

## 1. Install Dependencies

- `Node.js`
- `MongoDB`
- `curl`
- `graphicsmagick`

```shell
# SYSTEM CONFIGURATION
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org curl graphicsmagick

# We have to also install `npm`, which is the Node.js package manager. You can do this by typing:
sudo apt-get install npm




# If you encountered some errors when trying to install npm
# try to install nodejs in the first place.
# The nodejs package contains the nodejs binary as well as npm, so you don't need to install npm separately.
sudo apt-get install nodejs

# OR
# An alternative that can get you a more recent version of Node.js is to add a PPA maintained by NodeSource
curl -sL https://deb.nodesource.com/setup | sudo bash -
# After running the setup script from nodesource, you can install the Node.js package
# in the same way that you did above
sudo apt-get install nodejs
# In order for some npm packages to work (such as those that require building from source)
# you will need to install the build-essentials package:
sudo apt-get install build-essential
# for more please view the link below.





# Install a tool to let us change the node version.
sudo npm install -g n

# Meteor needs at least this version of node to work.
sudo n 0.10.40
```

More on [nodejs installation](https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-an-ubuntu-14-04-server)


## 2. Install Rocket.Chat

Download Stable version of Rocket.Chat (or pick a version from [our releases page](https://rocket.chat/releases)):

```
curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz
```

Then untar the binary release:

```
tar zxvf rocket.chat.tgz
```

this will expand everything into a `bundle` directory.

Next, make sure MongoDB server is already up and running. Then, set environment variables and run the Rocket.Chat server:

```
mv bundle Rocket.Chat
cd Rocket.Chat/programs/server
npm install
cd ../..
export ROOT_URL=http://your-host-name.com-as-accessed-from-internet:3000/
export MONGO_URL=mongodb://localhost:27017/rocketchat
export PORT=3000
node main.js
```
You **MUST** set the `ROOT_URL` environment variable to the Internet accessible URL to your server.

This will start the Rocket.Chat server running.

If you would like to start Rocket.Chat on an alternative port, use the environment variable PORT.

**Note: If using port 80 you will have to run as root. This is because it is a privileged port.**

If you choose to do this. You need to do something like this:
```
sudo ROOT_URL=http://your-host-name.com-as-accessed-from-internet/ \
MONGO_URL=mongodb://localhost:27017/rocketchat \
PORT=80 \
node main.js
# Or...
sudo su
export ROOT_URL=http://your-host-name.com-as-accessed-from-internet/
export MONGO_URL=mongodb://localhost:27017/rocketchat
export PORT=80
node main.js
```

NOTE: If you need to keep the server up and running across reboots, use a task manager such as forever, PM2 or write your own shell management scripts.

## 3. Setup MongoDB Replica Set

Rocket.Chat uses the [MongoDB replica set](http://docs.mongodb.org/manual/replication/) **OPTIONALLY** to improve performance via Meteor Oplog tailing. To configure the replica set:

#### For older MongoDB versions (2.4 and bellow)

Append `replSet=001-rs` into `mongod.conf` file:

```shell
$ echo replSet=001-rs >> /etc/mongod.conf
```

And restart Mongo:

```shell
$ service mongod restart
$ mongo
```

#### For new MongoDB versions (2.6 and above)

Using YAML syntax add this section into `mongod.conf`:

```
replication:
replSetName: "001-rs"
```

Restart Mongo:

```shell
$ service mongod restart
$ mongo
```

Start the MongoDB shell and initiate the replica set:

```shell
$ mongo
> rs.initiate()
```

The result should look like this

```
{
"info2" : "no configuration explicitly specified -- making one",
"me" : "localhost:27017",
"info" : "Config now saved locally. Should come online in about a minute.",
"ok" : 1
}
```

After a few seconds, you should see your prompt turn into `001-rs:PRIMARY> `, this indicates the replica set is being used. Type `exit` to get back to your regular shell.

After you configured replica set, you **MUST** add the following environment variable before restarting Rocket.Chat server for it to take effect:

```
MONGO_OPLOG_URL=mongodb://localhost:27017/local
```


## 4. Configure Rocket.Chat

Rocket.Chat is installed and needs to be configured. Follow these guides to properly configure everything your instance needs:

1. [Creating the First Admin](https://github.com/RocketChat/Rocket.Chat/wiki/Creating-the-First-Admin)
2. [Run Rocket.Chat behind a SSL Reverse Proxy](https://github.com/RocketChat/Rocket.Chat/wiki/Run-Rocket.Chat-behind-a-SSL-Reverse-Proxy)

## 5. Update an already installed instance

In summary do the following:

1. Make sure server is down
1. Change into the directory where you have the `Rocket.Chat` directory
1. remove the old server executables
* `rm -rf Rocket.Chat`
1. Repeat Installation [step](#2-install-rocketchat)

You can always [update directly](https://github.com/RocketChat/Rocket.Chat/issues/2408) to the newest version, the database migrations will execute from the old version to the new version.
Loading

0 comments on commit b725aae

Please sign in to comment.