Introduction

Skedler v3.x and 4.x is now available in the Docker repository. It simplifies the installation process and shortens the time to get Skedler up and running.

Pre-requisites

System Requirements

  • Minimum of 4 CPU cores and 8 GB of RAM is recommended for deploying Skedler.
  • Docker version greater than 1.8.0 should be installed.
  • Skedler v3.0 or higher is only supported.

Step-by-Step Instruction

Step 1: Pull Skedler from a Docker Repository

  • Obtaining Skedler for Docker is a simple as issuing a docker pull command.
  • The Docker image for Skedler 3.x can be retrieved with the following command

sudo docker pull skedler/reports:latest

Note: You can retrieve the older versions of Skedler Reports for Docker using tags from here. To pull a particular version, use the following command

sudo docker pull skedler/reports:<tag>


Step 2: Run Skedler as a Container

  • To run skedler image use the following command 

sudo docker run --name skedler -t -d -v skedlerdata:/var/lib/skedler -p 0.0.0.0:3001:3000 skedler/reports /bin/bash

  • To run skedler of a particular version as a container use the following command 

sudo docker run --name skedler -t -d -v skedlerdata:/var/lib/skedler -p 0.0.0.0:3001:3000 skedler/reports:<tag> /bin/bash

Note: skedler_home inside the container is /opt/skedler

Note: 0.0.0.0 is the bind-address in which Skedler runs, 3001 is the Host IP port which Skedler uses and 3000 is the Docker IP port


Step 3: Basic Skedler configurations using reporting.yml


Skedler Reports needs a datastore to store Skedler Reports metadata and history data. By default, Skedler uses Internal Database as a Datastore. Alternatively, you can configure either Elasticsearch or an external “MySQL” or “SQLite” database as a Datastore in reporting.yml.


Configure Skedler configurations like port, Elasticsearch URL and External Database in /opt/skedler/config/reporting.yml. 

To edit the configuration file use the following command

sudo docker exec -it skedler nano  /opt/skedler/config/reporting.yml


Note: For more configuration options kindly refer the article Reporting.yml and ReportEngineOptions Configuration

Note: The following folders are persisted in the mapped volume (ie skedlerdata)

  • Log files -  log_dir: Persist log information in /var/lib/skedler/logs folder.
  • Custom images, images and custom CSS - ui_files_location: Persist UI information in /var/lib/skedler/uifiles folder.
  • Database - Persist Skedler infomations in /var/lib/skedler/skedler.db and /var/lib/skedler/skedlerHistory.db
  • *Reports -  reports_dir: Persist generated report information in /var/lib/skedler/reports folder.

Note: *Report generation path needs to be configured for "Base Folder Directory" as "/var/lib/skedler/reports" in the Skedler configuration page to persist the generated reports.


Step 4: Start Skedler 

    To run skedler as service use the following command

sudo docker exec skedler service skedler start

    To start skedler manually use the following command

sudo docker exec skedler /opt/skedler/bin/skedler

Step 5: Accessing Skedler

  • Skedler can be accessed from the following URL if it is using the port 3001. http://<hostIP>:3001
  • For example, if the HostIP: 192.168.0.101 and Docker IP: 172.17.0.1 respectively. Skedler runs in 172.17.0.1 and you can access skedler using HostIP in the browser. http://192.168.0.101:3001


Step 6: Configure Settings

    When you launch Skedler Reports for the first time, the Configuration page is displayed. To configure Skedler settings refer the How to configure email settings, time zone settings and default logo for reports.

You have now completed the initial settings of Skedler and ready to schedule reports.  


Step 7: License Upgrade

    Activation is required for purchased product license key. In the Community Edition, license activation will be skipped. If you purchase Skedler Reports license, you will receive a license key by email.  Refer to Upgrade License


Next Steps