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.
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