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)
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:
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.
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:
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.
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.
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