How to Install Helpy on Linux Mint

This tutorial will guide you through the steps to install Helpy on Linux Mint. Helpy is an open-source customer support and ticketing application, and can be downloaded from https://github.com/helpyio/helpy.

Requirements

Before you begin the installation process, you will need the following:

Step 1: Update the System

Before you start the installation process, you should make sure that your system is up-to-date. You can do this by running the following command in your terminal:

sudo apt update && sudo apt upgrade -y

This will update the package list and install any available updates.

Step 2: Install Dependencies

Helpy requires certain packages to be installed on your server. You can install these packages by running the following command:

sudo apt install build-essential git curl libpq-dev postgresql postgresql-contrib redis-server nginx certbot python3-certbot-nginx -y

This command will install the necessary packages for Helpy to run.

Step 3: Install Ruby

Helpy is built on top of Ruby on Rails, which requires a specific version of Ruby to be installed. You can install Ruby from the official PPA by running the following commands:

sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt-get update
sudo apt-get install rvm -y

This will install rvm, the Ruby Version Manager, which makes it easy to switch between different versions of Ruby. After the installation, run the following command:

source /etc/profile.d/rvm.sh

This will source the RVM environment script, and configure the terminal environment to use RVM.

Step 4: Install Helpy

Now that you have installed the dependencies and Ruby, you can proceed to install Helpy. You can download Helpy from Github using the git command:

git clone https://github.com/helpyio/helpy.git

This will clone Helpy's code from Github into a directory named helpy in your current directory.

Step 5: Configure Helpy

Before running Helpy, you must configure it with your desired settings. Navigate to the helpy directory by running the following command:

cd helpy

Next, copy the default configuration file by running the following command:

cp config.example.yml config.yml

This will create a new configuration file with default values that you can customize. You can edit this file by running the following command:

nano config.yml

This will open the configuration file in the terminal. You can customize the values in this file to match your desired settings.

Step 6: Install Helpy Dependencies

Helpy requires certain dependencies to be installed to function correctly. You can install these dependencies by running the following commands:

gem install bundler
bundle install --without development test

This will install bundler, the dependency manager for Ruby, and download and install all of Helpy's dependencies.

Step 7: Configure the Database

Helpy uses PostgreSQL as its database system. You must create a user and a database for Helpy to use. You can do this by running the following commands:

sudo -u postgres createuser -s helpy
sudo -u postgres psql -c "alter user helpy with password 'YOUR_PASSWORD';"
sudo -u postgres createdb -O helpy helpy_production

Replace YOUR_PASSWORD with a new password for the Helpy user. This will create a new user named helpy with a password, and create a new database named helpy_production that is owned by the helpy user.

Step 8: Setup Helpy

Next, you need to set up Helpy by running the following command:

RAILS_ENV=production bundle exec rake helpy:setup

This command will create the database schema, populate it with default data, and generate a configuration file.

Step 9: Start the Server

You can start the Helpy server by running the following command:

RAILS_ENV=production rails s -b 0.0.0.0

This will start the Helpy server and bind it to all network interfaces, so you can access it from your web browser.

Step 10: Configure Nginx

To access Helpy through a web browser, you must configure Nginx to proxy requests to the Helpy server. You can do this by creating a new Nginx virtual host file by running the following command:

sudo nano /etc/nginx/sites-available/helpy.conf

In this file, paste the following configuration:

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Replace your-domain.com with your own domain name or IP address. Save the file and exit the editor.

Then, create a symbolic link to enable the configuration by running the following command:

sudo ln -s /etc/nginx/sites-available/helpy.conf /etc/nginx/sites-enabled/

Finally, restart Nginx to load the new configuration by running the following command:

sudo systemctl restart nginx

Step 11: Enable HTTPS with Let's Encrypt

To secure your Helpy installation with HTTPS, you can use Let's Encrypt, a free and open certificate authority. You can install Let's Encrypt by running the following command:

sudo certbot --nginx -d your-domain.com

Replace your-domain.com with your own domain name or IP address. This command will prompt you to enter an email address and to agree to the Let's Encrypt terms of service. After that, it will automatically obtain and install a new SSL/TLS certificate for your domain, and configure Nginx to use it.

Conclusion

At this point, you have successfully installed Helpy on your Linux Mint server, and configured it for production use. You can now visit your Helpy installation in your web browser by navigating to https://your-domain.com. If you have any issues or questions, feel free to consult the Helpy documentation at https://docs.helpy.io/ or the official Github repository at https://github.com/helpyio/helpy/.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!

Alternatively, for the best virtual desktop, try Shells!