There is a new version of this tutorial available for Ubuntu 22.04 (Jammy Jellyfish).

How to Install Helpy Customer Helpdesk on Ubuntu 20.04

Helpy is a free, open-source, and modern helpdesk customer support application that gives your customers a heroic experience. It is written in Ruby on Rails and it can be easily integrated with your application and inbound email via Sendgrid, Mandrill, Mailgun, etc. By default, Helpy works on all devices out of the box so you can delight customers with prompt answers, from anywhere and at any time! It has an advanced search option that helps you to filter and find tickets or customers when you have thousands.

In this post, we will show you how to install Helpy Helpdesk on Ubuntu 20.04.

Prerequisites

  • A server running Ubuntu 20.04.
  • A root password is configured on the server.

Getting Started

Before starting, it is recommended to update all system packages to the updated version. You can do it by running the following command:

apt-get update -y

Once your system packages are updated, install other required dependencies using the following command:

apt-get install apt-transport-https ca-certificates curl software-properties-common

After installing all the packages, you can proceed to the next step.

Install Docker CE and Docker Compose

We will install Help on the Docker container. So, Docker and Docker compose must be installed on your server. First, add the Docker CE repository using the following command:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Next, update the repository database and install the Docker CE with the following command:

apt-get update -y
apt-get install docker-ce docker-ce-cli containerd.io -y

Once the Docker CE is installed, start and enable the Docker CE service using the following command:

systemctl start docker 
systemctl enable docker

Next, check the status of the Docker CE with the following command:

systemctl status docker

You will get the following output:

? docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-02-28 02:01:20 UTC; 1min 14s ago
TriggeredBy: ? docker.socket
       Docs: https://docs.docker.com
   Main PID: 3092 (dockerd)
      Tasks: 7
     Memory: 28.2M
     CGroup: /system.slice/docker.service
             ??3092 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Feb 28 02:01:20 ubuntu2004 dockerd[3092]: time="2022-02-28T02:01:20.107814282Z" level=warning msg="Your kernel does not support CPU realtime >
Feb 28 02:01:20 ubuntu2004 dockerd[3092]: time="2022-02-28T02:01:20.107957338Z" level=warning msg="Your kernel does not support cgroup blkio >
Feb 28 02:01:20 ubuntu2004 dockerd[3092]: time="2022-02-28T02:01:20.108078251Z" level=warning msg="Your kernel does not support cgroup blkio >
Feb 28 02:01:20 ubuntu2004 dockerd[3092]: time="2022-02-28T02:01:20.108501788Z" level=info msg="Loading containers: start."
Feb 28 02:01:20 ubuntu2004 dockerd[3092]: time="2022-02-28T02:01:20.257733781Z" level=info msg="Default bridge (docker0) is assigned with an >
Feb 28 02:01:20 ubuntu2004 dockerd[3092]: time="2022-02-28T02:01:20.354919857Z" level=info msg="Loading containers: done."
Feb 28 02:01:20 ubuntu2004 dockerd[3092]: time="2022-02-28T02:01:20.382579537Z" level=info msg="Docker daemon" commit=459d0df graphdriver(s)=>
Feb 28 02:01:20 ubuntu2004 dockerd[3092]: time="2022-02-28T02:01:20.383119787Z" level=info msg="Daemon has completed initialization"
Feb 28 02:01:20 ubuntu2004 systemd[1]: Started Docker Application Container Engine.
Feb 28 02:01:20 ubuntu2004 dockerd[3092]: time="2022-02-28T02:01:20.444535011Z" level=info msg="API listen on /run/docker.sock"

Next, download the latest version of Docker Compose using the following command:

curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-linux-x86_64 | cut -d '"' -f 4 | wget -qi -

Next, set the execution permission to the Docker Compose binary with the following command:

chmod +x docker-compose-linux-x86_64

Next, move the Docker Compose binary to the system path with the following command:

mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose

Next, verify the Docker Compose version with the following command:

docker-compose version

You will get the following output:

Docker Compose version v2.2.3

Install Helpy

Next, download the latest version of Helpy with the following command:

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

Once the download is completed, change the directory to helpy and rename the environment file:

cd helpy
cp docker/.env.sample docker/.env

Next, edit the Caddyfile and define your server IP address:

nano docker/Caddyfile

Define your server IP as shown below:

your-server-ip:80 {
  tls off
  root /helpy/public

  header /assets {
    gzip
    Expires "Thu, 31 Dec 2037 23:55:55 GMT"
    Cache-Control public
  }

  header /uploads

  proxy / helpy:8080/ {
    except /assets
    except /uploads
    header_upstream Host {host}
    header_upstream X-Real-IP {remote}
    header_upstream X-Forwarded-Proto {scheme}
  }
  log stdout
}

Save and close the file then build the Helpy container with the following command:

docker-compose build

You should see the following output:

 ---> Running in a3a5fe591ac2
Removing intermediate container a3a5fe591ac2
 ---> 7babb0f60867
Step 13/20 : VOLUME $HELPY_HOME/public
 ---> Running in bfc08d37a2e1
Removing intermediate container bfc08d37a2e1
 ---> b4a06ac5bd7b
Step 14/20 : USER root
 ---> Running in a2e81c390825
Removing intermediate container a2e81c390825
 ---> d4275c0cd8aa
Step 15/20 : COPY . $HELPY_HOME/
 ---> 03684c78036c
Step 16/20 : RUN chown -R $HELPY_USER $HELPY_HOME
 ---> Running in 5b8d7b23cab6
Removing intermediate container 5b8d7b23cab6
 ---> 8406e643b688
Step 17/20 : USER $HELPY_USER
 ---> Running in bf9c512f2486
Removing intermediate container bf9c512f2486
 ---> abccf6d62cdf
Step 18/20 : COPY docker/database.yml $HELPY_HOME/config/database.yml
 ---> fbff2ecf5a58
Step 19/20 : EXPOSE 3000
 ---> Running in db600cd62ecc
Removing intermediate container db600cd62ecc
 ---> 8ed9fd111cd4
Step 20/20 : CMD ["/bin/bash", "/helpy/docker/run.sh"]
 ---> Running in 4c48d0132cd3
Removing intermediate container 4c48d0132cd3
 ---> ac095ecbbac6
Successfully built ac095ecbbac6
Successfully tagged helpy_helpy:latest

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them

Next, start the Helpy container with the following command:

docker-compose up -d

You should see the following output:

[+] Running 19/19
 ? postgres Pulled                                                                                                                      16.6s
   ? 619014d83c02 Pull complete                                                                                                          8.0s
   ? 7ec0fe6664f6 Pull complete                                                                                                          8.7s
   ? 9ca7ba8f7764 Pull complete                                                                                                          8.9s
   ? 9e1155d037e2 Pull complete                                                                                                          9.2s
   ? febcfb7f8870 Pull complete                                                                                                         10.4s
   ? 8c78c79412b5 Pull complete                                                                                                         10.5s
   ? 5a35744405c5 Pull complete                                                                                                         10.6s
   ? 27717922e067 Pull complete                                                                                                         10.6s
   ? 36f0c5255550 Pull complete                                                                                                         15.2s
   ? dbf0a396f422 Pull complete                                                                                                         15.3s
   ? ec4c06ea33e5 Pull complete                                                                                                         15.4s
   ? e8dd33eba6d1 Pull complete                                                                                                         15.5s
   ? 51c81b3b2c20 Pull complete                                                                                                         15.6s
   ? 2a03dd76f5d7 Pull complete                                                                                                         15.7s
 ? frontend Pulled                                                                                                                      11.3s
   ? 743f2d6c1f65 Pull complete                                                                                                          7.8s
   ? 6bfc4ec4420a Pull complete                                                                                                         10.2s
   ? 688a776db95f Pull complete                                                                                                         10.4s
[+] Running 6/6
 ? Network helpy_front          Created                                                                                                  0.1s
 ? Network helpy_back           Created                                                                                                  0.1s
 ? Volume "helpy_rails-assets"  Created                                                                                                  0.0s
 ? Container helpy-postgres-1   Started                                                                                                  1.4s
 ? Container nginx              Started                                                                                                  1.5s
 ? Container helpy-helpy-1      Started                                                                                                  3.3s

Next, verify all running containers using the following command:

docker ps

You should see the following output:

CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                                                                      NAMES
8168c6d11c75   helpy_helpy    "/bin/bash /helpy/do…"   2 minutes ago   Up 2 minutes   0.0.0.0:3000->3000/tcp, :::3000->3000/tcp                                  helpy-helpy-1
265597cbcbea   postgres:9.4   "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes   5432/tcp                                                                   helpy-postgres-1
b671e0a7ba1e   nginx:1.15     "nginx -g 'daemon of…"   2 minutes ago   Up 2 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   nginx

Access Helpy Web Interface

Now, open your web browser and access the Helpy web interface using the URL http://your-server-ip. You should see the following screen:

Click on the Let's set up your Helpy. You should see the administrator account creation screen:

Provide your admin username, password, email address, and click on the Save Changes button. You should see the Customize your helpdesk screen:

Customize your Helpdesk as per your need otherwise, click on the Skip for now button. You should see the SMTP server configuration screen:

Provide your SMTP server information or click on the Skip for now button. You should see the following screen:

Click on the Get Started! button. You should see the Helpy dashboard on the following screen:

Conclusion

Congratulations! you have successfully installed the Helpy Customer Helpdesk system on Ubuntu 20.04. You can now deploy Helpy on your organization and start managing your customers. Feel free to ask me if you have any questions.

Share this page:

0 Comment(s)