Commit 1903675c authored by Marcelo Schmidt's avatar Marcelo Schmidt
Browse files

Add some structure

parent 29f04d60
WIP
### How to get the mobile app
The app for iOS (iPhones, iPads, iPod Touch) can be found in the app store. Just search for `Rocket.Chat`
......
# Deploying Rocket.Chat to Amazon Web Services
# Deploying Rocket.Chat on Amazon Web Services
Dockerfile; deployment, configuration, and tuning instructions to follow.
......
See [Deploy Rocket.Chat without docker](https://github.com/RocketChat/Rocket.Chat/wiki/Deploy-Rocket.Chat-without-docker) for more details.
\ No newline at end of file
# Deploy Rocket.Chat to Digital Ocean
# Deploying Rocket.Chat on Digital Ocean
Digital Ocean offers plain jane KVM VPS backed by SSDs. There needs to be no specialized configuration.
Use Ubuntu 14.x LTS VPS instance
Use Ubuntu 14.x LTS VPS instance
If you are not using Docker, follow these instructions: [Deploy Rocket.Chat without Docker](https://github.com/RocketChat/Rocket.Chat/wiki/Deploy-Rocket.Chat-without-docker)
If you are using Docker, follow thesse instructions: [Deploy Rocket.Chat on Linux with Docker](https://github.com/RocketChat/Deploy.to.Cloud/tree/master/GenericLinux)
......@@ -2,6 +2,24 @@
There are multiple deployment options for Rocket.Chat.
## Rocket.Chat Hosting
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"_.
While in Beta, the hosting is free. Once we leave the beta stage, you'll have the option to export your data if you do not want to continue service and want to host it yourself.
## Quick Deployments
If you are interested in quickly deploying an instance, you can try one of the options below:
* [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.
## Managed Deployments
If you need full control of your deployment, here are some guides for specific environments:
- [Aliyun](https://github.com/RocketChat/Deploy.to.Cloud/blob/master/Aliyun/README.md)
- [Docker w/Nginx SSL & Hubot](https://github.com/RocketChat/Rocket.Chat/wiki/Docker---Ubuntu-with-Nginx-SSL-and-Hubot)
- [Easy, hands off deployment with Ansible](https://github.com/RocketChat/Rocket.Chat/wiki/Easy,-hands-off-deployment-with-Ansible)
......
### NOTE:
# Deploying Rocket.Chat to Ubuntu
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.
This guide explains how to deploy your own Rocket.Chat instance to a Ubuntu Linux machine using the command line.
## 1. Install Dependencies
......@@ -29,9 +19,6 @@ 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.
......@@ -40,7 +27,7 @@ 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
# 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)
......@@ -64,7 +51,7 @@ More on [nodejs installation](https://www.digitalocean.com/community/tutorials/h
## 2. Install Rocket.Chat
Download Stable version of Rocket.Chat (or pick a version from [our releases page](https://rocket.chat/releases)):
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
......@@ -76,7 +63,7 @@ Then untar the binary release:
tar zxvf rocket.chat.tgz
```
this will expand everything into a `bundle` directory.
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:
......@@ -120,17 +107,17 @@ NOTE: If you need to keep the server up and running across reboots, use a task
## 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:
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:
Append `replSet=001-rs` into `mongod.conf` file:
```shell
$ echo replSet=001-rs >> /etc/mongod.conf
```
And restart Mongo:
And restart Mongo:
```shell
$ service mongod restart
......@@ -146,7 +133,7 @@ replication:
replSetName: "001-rs"
```
Restart Mongo:
Restart Mongo:
```shell
$ service mongod restart
......@@ -171,7 +158,7 @@ The result should look like this
}
```
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 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:
......@@ -182,7 +169,7 @@ 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:
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)
......@@ -197,4 +184,4 @@ In summary do the following:
* `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.
\ No newline at end of file
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.
# Deploying Rocket.Chat to Aliyun
# Deploying Rocket.Chat on Aliyun
You can install Rocket.Chat to Ubuntu VPS on Aliyun.
......@@ -86,7 +86,7 @@ db:
- $PWD/dump:/dump
command: mongod --smallfiles
web:
image: rocketchat/rocket.chat
image: rocketchat/rocket.chat
environment:
- MONGO_URL=mongodb://db:27017/meteor
- ROOT_URL=http://your-ip-address:8818
......@@ -99,7 +99,7 @@ Make sure you customize the file with `your-ip-address` in the `MONGO_URL` env v
## Pull the required docker images
This will download the required docker images, and may take some time.
This will download the required docker images, and may take some time.
This is done only the first time, or when you want to update Rocket.Chat.
......
# Deploying Rocket.Chat on Debian
Deployment, configuration, and tuning instructions to follow.
Place holder only at this time. Please submit PR if you have contributions.
# Deploying Rocket.Chat on Debian
Deployment, configuration, and tuning instructions to follow.
Place holder only at this time. Please submit PR if you have contributions.
Resource Repository: [Link] (https://github.com/RocketChat/Deploy.to.Cloud/tree/master/Debian)
### 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.
* [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 npm mongodb-org curl graphicsmagick
# 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
```
## 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, set environment variables and run the 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 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)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment