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.
- 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 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
Configure Skedler configurations like port, kibana_index, Elasticsearch URL, Kibana URL and skedler_index 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
- port - The port in which skedler runs. Default port is 3000
elasticsearch_url - Elasticsearch URL with the port (even if the port is 80) in the following format <protocol>://<server>:<port>
kibana_url - Kibana URL with the port in the following format <protocol>://<server>:<port>
- grafana_url - Grafana URL with the port in the following format <protocol>://<server>:<port>
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
To run skedler as debug service use the following command
sudo docker exec skedler service skedler start debug
To start skedler debug manually use the following command
sudo docker exec skedler /opt/skedler/bin/skedler debug
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