Deploy SupportPal on Docker

Deploy SupportPal using a multi-node configuration with Docker Compose on GNU/Linux. Experience with Docker is recommended.

Contents

Prerequisites

Ensure your system meets our recommended system requirements. Operating system and software requirements are already satisfied by our Docker containers.

Additional software is required to deploy SupportPal on Docker:


Installation & Configuration

Install SupportPal

To start the installation, run the following:

Linux / MacOS


bash <(curl -LsS https://raw.githubusercontent.com/supportpal/helpdesk-install/master/templates/docker-compose/setup.sh)

Windows


winpty bash <(curl -LsS https://raw.githubusercontent.com/supportpal/helpdesk-install/master/templates/docker-compose/setup.sh)

Next Steps

Congratulations, you've successfully installed SupportPal!

You can control the state of the containers via the make command:

make help

We now recommend that you learn how to administer your installation.


Customisation

Configuring HTTPS

By default, the software will run on HTTP using port 80, however we recommend using HTTPS for added security. To allow HTTPS, we provide an integration with LetsEncrypt, start the process with the following steps:

  1. Change the current working directory to the docker-compose directory, for example:
    
            cd helpdesk-install/templates/docker-compose
            
  2. Stop the containers if they are currently running:
    make stop
  3. Copy the Docker composer override file:
    cp docker-compose.override.yml.dist docker-compose.override.yml
  4. Update the Makefile file, replacing the COMPOSE_FILES variable:
    COMPOSE_FILES=-f docker-compose.yml -f docker-compose.prod.yml -f docker-compose.override.yml
  5. Add your help desk domain name to the .env file. If you intend to use multiple domains / brands with your helpdesk, only specify one - it does not matter which one you choose.
    DOMAIN_NAME=example.com

You may now either set up a self-signed SSL certificate (if your domain is not available to the public), or a full LetsEncrypt SSL certificate for your domain.

Self-Signed SSL Certificate

Execute the script, replacing the top level domain names with your own. You can list as many domain names as you need:

./../../configs/letsencrypt/create-self-signed.sh -- example.com www.example.com

LetsEncrypt SSL Certificate

Execute the script, replacing the domain names and email address. You can list as many domain names as you need. At least one of the domain names needs to be the DOMAIN_NAME specified in the .env file.

./../../configs/letsencrypt/init-letsencrypt.sh --email user@company.com -- example.com www.example.com

Restart the containers for your changes to take effect:

make restart

Configuring nginx

You can extend our default nginx configuration by making changes to templates/docker-compose/gateway/custom.conf within the helpdesk-install repository. See https://nginx.org/en/docs/ for assistance with nginx config directives.

Restart the containers for your changes to take effect:

make restart

Configuring PHP

You can extend our default PHP configuration by copying files into the containers.

  1. Create templates/docker-compose/php/custom.ini
  2. Add your PHP configuration to the file. See https://www.php.net/manual/en/configuration.file.php for assistance with PHP directives.
  3. Update the volumes definition for the supportpal and supportpal_cron containers in templates/docker-compose/docker-compose.prod.yml:
    - ./php/custom.ini:/usr/local/etc/php/conf.d/10-custom.ini
    You can change the 10 in the filename to control the priority that the file is loaded.
  4. Restart the containers for your changes to take effect:
    make restart

Extending SupportPal

It is easy to extend your SupportPal installation. Simply add your files to the relevant directory in the helpdesk-install repository:

Extension helpdesk-install Directory
Creating plugins templates/docker-compose/customization/plugins
Creating reports templates/docker-compose/customization/reports
Creating translations templates/docker-compose/customization/languages
Creating themes templates/docker-compose/customization/templates

The changes should be immediately visible in your SupportPal installation without needing to restart the containers.


Uninstall

To completely remove your help desk installation, follow the steps below:

  1. Change the current working directory to the docker-compose directory, for example:
    
            cd helpdesk-install/templates/docker-compose
            
  2. Take a full backup.
  3. Run the uninstall command:

    Linux

    sudo make uninstall

    MacOS / Windows

    make uninstall