SCADA-LTS/Scada-LTS

Scada-LTS is an Open Source, web-based, multi-platform solution for building your own SCADA (Supervisory Control and Data Acquisition) system.

Java

1,018

5,663 commits

updated Jul 24, 2026

See the code

README

Scada-LTS

Open Source, web-based, multi-platform solution for building your own SCADA
(Supervisory Control and Data Acquisition) system. Code released under the GPL license.

GitHub release (latest by date)

Build Status GitHub all releases

Project Documentation

See our GitHub Wiki page to take the first steps inside Scada-LTS project. There you can find QuickStart Guide how to run or build this application. Follow the latest changes and share your contribution with our team! There is also a Scada-LTS users community so if you have a problem feel free to ask questions on StackOverflow or our GitHub Discussions. For the developers we are preparing a complete code documentation that will contain all the REST API interfaces described with example usage. To do that we use Open API specification in version 3 that is compatible with most of the modern API tools like Swagger or Postman. Documentation file can be found in Scada-LTS/doc directory. To take your first steps inside Scada-LTS we suggest to get acquainted with video tutorials on YouTube Scada-LTS Youtube.

Follow the Release Section to be up to date with the latest features and see the specific version changelogs.
We follow the Semantic Versioning Guidelines to organize changes in our application.

If you need support for deployment please contact us and find more information on our website

Issues and ideas

Have you found a bug? Do you have idea for a new feature? Open a new Issue on our GitHub project site! Please follow the issue guidelines and make sure that your issue is not already reported. Try to write in english and explain what you think in a clear and understandable way.

Special templates have been prepared:

  • "Bug report" - detailed bug report (including a scenario that allows you to repeat the error);
  • "Feature" - new feature, or an extension of the old ones;
  • "Feature request" - proposal for a new feature, or an extension of the old one;
  • "Report a security vulnerability" - application security vulnerability reports;

We recommend using them;


Development

Building the application

To build the application on your own environment you can use Gradle or Apache Ant build tool. Ant is now marked as @depracated because soon it will be removed from that project. If you want to start the development of Scada-LTS find quick-start tutorial on our GitHub Wiki page.

We provide example scripts that can be used inside Scada-LTS project to perform specific operations. Commands with their explanations are listed below:

Gradle Tasks

To run Gradle Task you have to use gradle version 6.8.1 or similar with Java version 11. It should also work on other versions but you have to change the targetVersion in build.gradle file.

CommandExplanation
gradle warBuild Scada-LTS war file
gradle runLaunch Tomcat instance
gradle runDebugLaunch Tomcat instance in debug mode
gradle buildRunBuild and start Scada-LTS application
gradle buildRunDebugBuild and start Scada-LTS application in debug mode
gradle testLaunch Backend Unit Tests
gradle scadalts-ui::testUiLaunch Frontend Unit Tests
gradle -PskipUi=true buildRunBuild and start app without building UI

Using parameter -PskipUi=true you can reduce the compilation time for example if you made no change. More details how to build and develop the Frontend sub-project is described in readme.md file in scadalts-ui directory.

###Ant tasks @depracated

Examples of run tasks

CommandExplanation
ant runStart Scada-LTS application using Tomcat server
ant build-runBuild and start Scada-LTS application
ant build-skip-test-runBuild and start Scada-LTS application without running Tests
ant build-no-ui-runBuild and start Scada-LTS application without building user interface
ant build-no-ui-skip-test-runBuild and start Scada-LTS application without building user interface but without Test task
ant run-debugStart Scada-LTS application in debug mode on Tomcat server
ant build-run-debugBuild and start Scada-LTS application in debug mode
ant build-skip-test-run-debugBuild and start Scada-LTS application in debug mode without tests

Examples of build tasks

CommandExplanation
ant buildBuild complete Scada-LTS application
ant build-skip-testBuild complete Scada-LTS application without testing
ant build-no-uiBuild just a core application without Vue.js user interface
ant build-no-ui-skip-testBuild just a core application without Vue.js user interface without testing
ant update-uiUpdate running application with latest frontend application changes
ant create-warPrepare WAR archive from existing resources
we suggest to perform ant build task before

Examples of test tasks

CommandExplanation
ant test-junitLaunch Java Unit Tests
ant test-frontend-unitLaunch Vue.js tests

SeroUtils library license

Matthew Lohbihler [email protected] has granted us permission to use the SeroUtils.jar library for ScadaLTS team. ScadaLTS team can use the code seroUtils without limitation.

Fragement with the correspondence of Grzegorz Bylica and Matthew Lohbihler:

"(...) The good news is that you may hereby and without limitation use the seroUtils code as you like. (...)"

scada
scada-lts

SCADA-LTS/Scada-LTS

Scada-LTS is an Open Source, web-based, multi-platform solution for building your own SCADA (Supervisory Control and Data Acquisition) system.

Java

1,018

5,663 commits

updated Jul 24, 2026

See the code

README

Scada-LTS

Open Source, web-based, multi-platform solution for building your own SCADA
(Supervisory Control and Data Acquisition) system. Code released under the GPL license.

GitHub release (latest by date)

Build Status GitHub all releases

Project Documentation

See our GitHub Wiki page to take the first steps inside Scada-LTS project. There you can find QuickStart Guide how to run or build this application. Follow the latest changes and share your contribution with our team! There is also a Scada-LTS users community so if you have a problem feel free to ask questions on StackOverflow or our GitHub Discussions. For the developers we are preparing a complete code documentation that will contain all the REST API interfaces described with example usage. To do that we use Open API specification in version 3 that is compatible with most of the modern API tools like Swagger or Postman. Documentation file can be found in Scada-LTS/doc directory. To take your first steps inside Scada-LTS we suggest to get acquainted with video tutorials on YouTube Scada-LTS Youtube.

Follow the Release Section to be up to date with the latest features and see the specific version changelogs.
We follow the Semantic Versioning Guidelines to organize changes in our application.

If you need support for deployment please contact us and find more information on our website

Issues and ideas

Have you found a bug? Do you have idea for a new feature? Open a new Issue on our GitHub project site! Please follow the issue guidelines and make sure that your issue is not already reported. Try to write in english and explain what you think in a clear and understandable way.

Special templates have been prepared:

  • "Bug report" - detailed bug report (including a scenario that allows you to repeat the error);
  • "Feature" - new feature, or an extension of the old ones;
  • "Feature request" - proposal for a new feature, or an extension of the old one;
  • "Report a security vulnerability" - application security vulnerability reports;

We recommend using them;


Development

Building the application

To build the application on your own environment you can use Gradle or Apache Ant build tool. Ant is now marked as @depracated because soon it will be removed from that project. If you want to start the development of Scada-LTS find quick-start tutorial on our GitHub Wiki page.

We provide example scripts that can be used inside Scada-LTS project to perform specific operations. Commands with their explanations are listed below:

Gradle Tasks

To run Gradle Task you have to use gradle version 6.8.1 or similar with Java version 11. It should also work on other versions but you have to change the targetVersion in build.gradle file.

CommandExplanation
gradle warBuild Scada-LTS war file
gradle runLaunch Tomcat instance
gradle runDebugLaunch Tomcat instance in debug mode
gradle buildRunBuild and start Scada-LTS application
gradle buildRunDebugBuild and start Scada-LTS application in debug mode
gradle testLaunch Backend Unit Tests
gradle scadalts-ui::testUiLaunch Frontend Unit Tests
gradle -PskipUi=true buildRunBuild and start app without building UI

Using parameter -PskipUi=true you can reduce the compilation time for example if you made no change. More details how to build and develop the Frontend sub-project is described in readme.md file in scadalts-ui directory.

###Ant tasks @depracated

Examples of run tasks

CommandExplanation
ant runStart Scada-LTS application using Tomcat server
ant build-runBuild and start Scada-LTS application
ant build-skip-test-runBuild and start Scada-LTS application without running Tests
ant build-no-ui-runBuild and start Scada-LTS application without building user interface
ant build-no-ui-skip-test-runBuild and start Scada-LTS application without building user interface but without Test task
ant run-debugStart Scada-LTS application in debug mode on Tomcat server
ant build-run-debugBuild and start Scada-LTS application in debug mode
ant build-skip-test-run-debugBuild and start Scada-LTS application in debug mode without tests

Examples of build tasks

CommandExplanation
ant buildBuild complete Scada-LTS application
ant build-skip-testBuild complete Scada-LTS application without testing
ant build-no-uiBuild just a core application without Vue.js user interface
ant build-no-ui-skip-testBuild just a core application without Vue.js user interface without testing
ant update-uiUpdate running application with latest frontend application changes
ant create-warPrepare WAR archive from existing resources
we suggest to perform ant build task before

Examples of test tasks

CommandExplanation
ant test-junitLaunch Java Unit Tests
ant test-frontend-unitLaunch Vue.js tests

SeroUtils library license

Matthew Lohbihler [email protected] has granted us permission to use the SeroUtils.jar library for ScadaLTS team. ScadaLTS team can use the code seroUtils without limitation.

Fragement with the correspondence of Grzegorz Bylica and Matthew Lohbihler:

"(...) The good news is that you may hereby and without limitation use the seroUtils code as you like. (...)"

scada
scada-lts

Project health

Overall

3.7/10

Maintained

3/10

Code review

5/10
OpenSSF Scorecard

Significant stargazers

Oleg Nenashev

807 followers · starred Oct 2023

Patrick O'Keeffe

17 followers · starred Feb 2020

Sergey Sobko

63 followers · starred Jan 2023