Linux
    • Dark
      Light
    • PDF

    Linux

    • Dark
      Light
    • PDF

    Article summary

    Setting up a Rocket.Chat development server on Linux involves several steps, including installing the necessary dependencies, configuring the server, and deploying Rocket.Chat. This guide will walk you through the process step by step.

    The sample Linux distribution for this guide is Ubuntu. However, the steps are similar for other Linux distributions.

    Requirements

    • At least 12GB RAM is required for building in a development environment. For deployment and other uses, 2GB RAM suffices.

    • Use a standard user account (not root) for setup. Avoid using sudo to prevent potential file permission issues.

    You may notice build WARNINGs related to peer dependencies or other transitive dependencies. They are typically safe to ignore unless you are coding the required features or modules.

    Setting up a development environment in Linux

    • Install essential tools required by running this command:

    sudo apt install g++ build-essential git curl python2-minimal

    If you run into the error "python-minimal has no installation candidate." To resolve this:

    • Install software-properties-common

    sudo apt-get install software-properties-common

    software-properties-common package is an alternate one for python-software-properties.

    for <= 12.04

    sudo apt-get install python-software-properties

    for >= 12.10

    sudo apt-get install software-properties-common

    Kindly check the releases to see the required NodeJS version for Rocket.Chat.

    • Install Meteor with this command:

    curl https://install.meteor.com/ | sh

    Occasionally, you might have to install a previous Meteor release. Ensure to verify the required Meteor version for Rocket.Chat from the .meteor/release file.

    Alternatively, install a specific Meteor version using this command replacing x.x with the version number:

    curl https://install.meteor.com/?release=x.x | sh
    • Install the yarn package manager with this command.

    npm install --global yarn
    • Fork the Rocket.Chat repository on GitHub and clone it to your local system.

    git clone https://github.com/<your-username>/Rocket.Chat.git

    To install Git on Linux, see the official guide.

    • Navigate to the project directory and install all the dependencies by running these commands:

    cd Rocket.Chat
    yarn
    • When completed, build and run the server by executing this command:

    yarn dsv

    The first build can take ten or more minutes, and you may see various warnings or minor errors. Subsequent dev builds will take lesser time.

    • The server will start on port 3000, displaying the "Server Running" screen. Once running successfully, you can access Rocket.Chat on your machine through any browser or the Rocket.Chat client app at http://localhost:3000.

    Editing Rocket.Chat files on Linux

    For editing Rocket.Chat files,

    1. Launch your IDE and navigate to the cloned repository folder.

    2. Any modifications to Rocket.Chat triggers an automatic server rebuild.

    3. Occasionally, changes might cause the server to shut down. In such cases, simply restart the server to continue.

    Given the extensive Rocket.Chat codebase, it's necessary to adjust the system parameter on your OS to optimize the efficiency of the file-change watcher.

    References

    Now that your development server is running, you're welcome to contribute to the Rocket.Chat server! See participate in Rocket.Chat development to learn more about Rocket.Chat contributions.


    Was this article helpful?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.
    ESC

    Eddy AI, facilitating knowledge discovery through conversational intelligence