Skip to content

ladybirdweb/faveo-helpdesk-docker-v2

Repository files navigation


Deploying Faveo Helpdesk on Docker

drawing

Faveo Helpdesk Docker

A pretty simplified Docker Compose workflow that sets up a network of containers for Faveo Helpdesk.

All the Faveo Helpdesk editions are supported except the community edition.

Usage


To get started, make sure you have Docker and Docker-Compose installed on your system, and then clone the below Git-Hub repository with the below link.

git clone https://github.com/ladybirdweb/faveo-helpdesk-docker-v2.git

Next, navigate in your terminal to the directory you cloned this, and give the executable permissions to bash scripts.

For all Faveo Editions (except community edition).

chmod +x faveo-run.sh

For Faveo Community Edition.

chmod +x faveo-community-run.sh

Prerequisites To run the script:

  1. A valid domain name fully propagated to your Server's IP.
  2. Sudo Privilege.
  3. Faveo license and Order number. (This can be obtained from billing.faveohelpdesk.com). (This is not required for Community Edition)
  4. Unreserved ports 80 and 443. (If it is reserved feel free to edit and change the ports of your choice in docker-copompose.yml)
  5. Operating Systems Ubuntu 20,22,24
  6. SSL Certificate (For Paid SSL Users), If you're using a paid SSL, have the SSL certificate files ready before installation.

Complete the below steps to get the Containers up.


For all Faveo Editons (except community edition).

Run the script faveo-run.sh by passing the necessary arguments.

NOTE: You should have a Valid domain name pointing to your public IP. This domain name is used to obtain SSL certificates, and the mail is used for the same purpose. The license code and Order Number can be obtained from your Faveo Helpdesk Billing portal, and make sure not to include the '#' character in the Order Number.

SSL Certificate Options: Pass the option based on your SSL requirement

  • Option A: Let’s Encrypt (Free SSL)

  • Option B: Self-Signed SSL

  • Option C: Paid SSL (

    Incase of Paid SSL, please ensure your SSL files are ready in your system. If you choose Option C (Paid SSL), you must specify the paths of the SSL certificate files.

SSL Certificate Path: /path/to/certificate.crt

SSL Key Path: /path/to/private.key

SSL CA Bundle : /path/to/ca_bundle.crt

Usage:

 ./faveo-run.sh -domainname <your domainname> -email <[email protected]> -license <faveo license code> -orderno <faveo order number> -ssl <SSL Option>

Example: It should look something like this.

 ./faveo-run.sh -domainname berserker.tk -email [email protected] -license 5H876********** -orderno 8123****** -ssl <A|B|C>

For Faveo Community Edition.

Run the script faveo-communtiy-run.sh by passing the necessary arguments.

NOTE: You should have a Valid domain name pointing to your public IP. This domain name is used to obtain SSL certificates, and the mail is used for the same purpose.

SSL Certificate Options: Pass the option based on your SSL requirement

  • Option A: Let’s Encrypt (Free SSL)

  • Option B: Self-Signed SSL

  • Option C: Paid SSL (

    Incase of Paid SSL, please ensure your SSL files are ready in your system. If you choose Option C (Paid SSL), you must specify the paths of the SSL certificate files.

SSL Certificate Path: /path/to/certificate.crt

SSL Key Path: /path/to/private.key

SSL CA Bundle : /path/to/ca_bundle.crt

Usage:

 ./faveo-community-run.sh -domainname <your domainname> -email <[email protected]> -ssl <SSL Option>

Example: It should look something like this.

 ./faveo-community-run.sh -domainname berserker.tk -email [email protected] -ssl <A|B|C>

After the docker installation is completed you will be prompted with Database Credentials and Credentials are saved in filename credentials.txt them somewhere safe and a cronjob will be set to auto-renew SSL certificates from Letsencrypt.

Visit https://yourdomainname.com complete the readiness probe, input the Database Details when prompted, and complete the installation.

There is one final step that needs to be done to complete the installation.

You have to edit the .env file which is generated under the Faveo root directory after completing the installation in the browser.

Open the terminal and navigate to the faveo-docker directory here you will find the directory faveo which is downloaded while running the script this directory contains all the Helpdesk codebase, inside it, you need to edit the .env file and add REDIS_HOST=faveo-redis. The "faveo-redis" is the DNS name of the Redis container.

Finally, run the below command for changes to take effect.

For LetsEncrypt SSL & Paid SSL

docker compose down && docker compose up -d

Only For Self-Signed SSL

chmod +x composedownup.sh
./composedownup.sh*


Note: At this point, the helpdesk interface will not load in the browser. To finalize the installation, you need to remove specific entries from the database.

  • Access your MariaDB container using the following command:
 docker exec -it YourDomain-mariadb /bin/bash

Replace YourDomain by the actual domain name.

  • Enter the database by executing:
mysql -u root -pYourPassword
use faveo;
  • Remove the necessary entry from the plugins table:
DELETE FROM plugins WHERE name = '';

Once the entry is removed, you can access the helpdesk via the browser and continue using it.



About

Docker image for running latest version of Faveo Helpdesk

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages