Eclipse Dirigible™
Eclipse Dirigible is a High-Productivity Application Platform as a Service (hpaPaaS). It provides an application server consisting of pre-selected execution engines and built-in web development tools. It is suitable for rapid development of business applications by also leveraging the Low Code / No Code techniques.
Enjoy Programming Like Never Before
From the end user's perspective (developer), Dirigible runs directly in the browser, therefore does not require any downloads or installations.
From the service provider's perspective (PaaS/SaaS), Dirigible packs all required components in a self-contained software bundle that can be deployed on a VM or Docker capable environment such as Kubernetes.
Dirigible supports access to RDBMS via JDBC. Currently supported versions for RDBMS are PostgreSQL, HANA, Sybase ASE, MySQL, H2, and Derby.
Dirigible promotes the In-System Programming development model, where you make dynamic alteration of the live system. To provide the self-contained bundle serving all the needed features for a business application, Dirigible packs various engines such as ActiveMQ, Quartz, Lucene, Flowable, Mylyn, GraalJS and others.
The project started as an internal SAP initiative to address the extension and adoption use-cases related to SOA and Enterprise Services.
Instant Trial
You can try the sandbox instance to have a quick look on the functionality you are interested https://trial.dirigible.io.
Contact Us
Join the Eclipse Dirigible Slack Workspace to chat with the community: https://slack.dirigible.io
Get Started
Download
The "fast-track" - you can download the precompiled binaries produced by the GitHub Actions from http://download.dirigible.io/ and skip the build section.
Nevertheless, we highly recommend building the binaries from source in order to have all experimental features that are not available in the releases.
Build
Prerequisites
Steps
In case there is an issue with 'Filename too long in Git for Windows' then add the fllowing git confoguration
git config --system core.longpaths true
-
Go to the root folder.
-
Build the project with:
mvn clean install
-
Quick build with tests:
mvn -T 1C clean install -Dmaven.javadoc.skip=true -Dlicense.skip=true
-
If you don't want to trigger license updates:
mvn clean install -Dlicense.skip=true
-
If you have a multi-core system, enable threads:
mvn -T 1C clean install
-
If you don't need to run tests, you can add the following argument:
mvn clean install -DskipTests
-
If you don't need to compile and run tests:
mvn clean install -Dmaven.test.skip=true -DskipTests
-
If you want to do a fast build, with no tests, javadocs and license updates:
mvn -T 1C clean install -Dmaven.test.skip=true -DskipTests -Dmaven.javadoc.skip=true -Dlicense.skip=true
The build should pass successfully.
The produced dirigible-application-XXX.jar
file is in build/application/target/
and is ready to be deployed. It is Spring Boot application, so it can be executed locally right away.
Run
Standalone
Prerequisites
macOS:
brew install ttyd
Linux:
Linux support is built-in
More info about ttyd can be found at: ttyd
Steps
-
From the project root directory run command:
java -jar build/application/target/dirigible-application-XXX.jar
-
In case you want to debug the application run:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 -jar build/application/target/dirigible-application-XXX.jar
-
Open a web browser and go to:
http://localhost:8080
-
Login with dirigible/dirigible.
-
REST API description in an OpenAPI format can be found at:
Docker
Prerequisites
Steps
- Get the container
-
Pull the official image from Docker Hub:
docker pull dirigiblelabs/dirigible-application
-
Build it locally
cd build docker build -t dirigible-application -f Dockerfile .
-
Start the container
docker run -p 8080:8080 -p 8081:8081 dirigiblelabs/dirigible-application <&- &
-
Open a web browser and go to:
http://localhost:8080/
-
Optionally you can enhance and customize the Dockerfile from here
PostgreSQL
Steps
-
Install PostgreSQL e.g. for MacOS:
brew install postgresql
-
The run it:
brew services start postgresql
-
Create a default user:
createuser -s postgres
-
And expose the following environment variables:
export DIRIGIBLE_DATASOURCE_DEFAULT_DRIVER=org.postgresql.Driver export DIRIGIBLE_DATASOURCE_DEFAULT_URL=jdbc:postgresql://localhost:5432/postgres export DIRIGIBLE_DATASOURCE_DEFAULT_USERNAME=postgres export DIRIGIBLE_DATASOURCE_DEFAULT_PASSWORD=postgres
-
Then you can run Dirigible with PostgreSQL default database (DefaultDB).
Additional Information
License
This project is copyrighted by SAP SE or an SAP affiliate company and Eclipse Dirigible contributors and is available under the Eclipse Public License v 2.0. See LICENSE.txt and NOTICE.txt for further details.
Contributors
If you like to contribute to Dirigible, please read the Contributor's guide.
Attribution links
Unicons by IconScout: https://github.com/Iconscout/unicons
References
- Project Home: https://www.dirigible.io
- Help Portal: https://help.dirigible.io
- Samples: https://samples.dirigible.io
- Trial Instance: https://trial.dirigible.io
- Slack: https://slack.dirigible.io
- Mailing List: https://dev.eclipse.org/mailman/listinfo/dirigible-dev
- Issues: https://github.com/eclipse/dirigible/issues
- Eclipse Foundation Help Desk: https://gitlab.eclipse.org/eclipsefdn/helpdesk