{"id":25777427,"url":"https://github.com/eclipse-dirigible/dirigible","last_synced_at":"2026-03-17T19:35:31.454Z","repository":{"id":31859286,"uuid":"35426931","full_name":"eclipse-dirigible/dirigible","owner":"eclipse-dirigible","description":"Eclipse Dirigible™ Project","archived":false,"fork":false,"pushed_at":"2026-01-19T13:19:39.000Z","size":211487,"stargazers_count":279,"open_issues_count":461,"forks_count":96,"subscribers_count":18,"default_branch":"master","last_synced_at":"2026-01-19T15:53:29.425Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.dirigible.io","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eclipse-dirigible.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE.txt","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-05-11T13:51:46.000Z","updated_at":"2026-01-19T09:24:30.000Z","dependencies_parsed_at":"2024-03-25T07:34:25.386Z","dependency_job_id":"84a36517-299b-4fff-98d6-07f66cb7a10d","html_url":"https://github.com/eclipse-dirigible/dirigible","commit_stats":{"total_commits":6275,"total_committers":82,"mean_commits":76.52439024390245,"dds":0.4924302788844621,"last_synced_commit":"d7b69d08fc721e8b4719b7311f4c0c969abcc23c"},"previous_names":["eclipse-dirigible/dirigible","eclipse/dirigible"],"tags_count":493,"template":false,"template_full_name":null,"purl":"pkg:github/eclipse-dirigible/dirigible","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-dirigible%2Fdirigible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-dirigible%2Fdirigible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-dirigible%2Fdirigible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-dirigible%2Fdirigible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eclipse-dirigible","download_url":"https://codeload.github.com/eclipse-dirigible/dirigible/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-dirigible%2Fdirigible/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28634785,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-02-27T06:01:42.947Z","updated_at":"2026-01-21T14:01:31.425Z","avatar_url":"https://github.com/eclipse-dirigible.png","language":"JavaScript","funding_links":[],"categories":["云服务"],"sub_categories":[],"readme":"# Eclipse Dirigible™\n\n[![Build Status](https://github.com/eclipse/dirigible/actions/workflows/build.yml/badge.svg)](https://github.com/eclipse/dirigible/actions/workflows/build.yml)\n[![Eclipse License](https://img.shields.io/badge/License-EPL%202.0-brightgreen.svg)](https://github.com/eclipse/dirigible/blob/master/LICENSE)\n[![Download Dirigible](https://img.shields.io/badge/download-releases-green.svg)](http://download.dirigible.io/)\n[![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/eclipse-dirigible)](https://artifacthub.io/packages/search?org=dirigiblelabs)\n[![Maven Central](https://img.shields.io/maven-central/v/org.eclipse.dirigible/dirigible-application.svg)](https://central.sonatype.com/namespace/org.eclipse.dirigible)\n[![GitHub contributors](https://img.shields.io/github/contributors/eclipse/dirigible.svg)](https://github.com/eclipse/dirigible/graphs/contributors)\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Feclipse%2Fdirigible.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Feclipse%2Fdirigible?ref=badge_shield)\n[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1967/badge)](https://bestpractices.coreinfrastructure.org/projects/1967)\n[![REUSE status](https://api.reuse.software/badge/github.com/eclipse/dirigible)](https://api.reuse.software/info/github.com/eclipse/dirigible)\n\n**Eclipse Dirigible** is a High-Productivity Application Platform as a Service (hpaPaaS). It provides an application\nserver consisting of pre-selected execution engines and built-in web development tools. It is suitable for rapid\ndevelopment of business applications by also leveraging the Low Code / No Code techniques.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/eclipse/dirigible/blob/master/logo/dirigible-logo-2Kx2K.png\" width=\"40%\" alt=\"dirigible logo\"/\u003e\n\u003c/p\u003e\n\n\u003e Enjoy Programming Like Never Before\n\nFrom the end user's perspective (developer), Dirigible runs directly in the browser, therefore does not require any\ndownloads or installations.\n\nFrom the service provider's perspective (PaaS/SaaS), Dirigible packs all required components in a self-contained\nsoftware bundle that can be deployed on a VM or Docker capable environment such as Kubernetes.\n\nDirigible supports access to RDBMS via JDBC. Currently supported versions for RDBMS are PostgreSQL, HANA, Sybase ASE,\nMySQL, H2, and Derby as well as NoSQL like MongoDB or pure OLAP like Snowflake.\n\nDirigible promotes the In-System Programming development model, where you make dynamic alteration of the live system. To\nprovide the self-contained bundle serving all the needed features for a business application, Dirigible packs various\nengines such as ActiveMQ, Quartz, Lucene, Flowable, Mylyn, GraalJS and others.\n\nThe project started as an internal SAP initiative to address the extension and adoption use-cases related to SOA and\nEnterprise Services.\n\n\u003c!-- TOC --\u003e\n\n- [Eclipse Dirigible™](#eclipse-dirigible)\n  - [Instant Trial](#instant-trial)\n  - [Contact Us](#contact-us)\n  - [Get Started](#get-started)\n    - [Download](#download)\n    - [Build](#build)\n      - [Prerequisites](#prerequisites)\n      - [Steps](#steps)\n      - [Maven Profiles](#maven-profiles)\n    - [Run](#run)\n      - [Standalone](#standalone)\n        - [Prerequisites](#prerequisites-1)\n        - [Steps](#steps-1)\n      - [Docker](#docker)\n        - [Prerequisites](#prerequisites-2)\n        - [Steps](#steps-2)\n      - [Native image](#native-image)\n        - [Prerequisites](#prerequisites-3)\n        - [Steps](#steps-3)\n      - [PostgreSQL](#postgresql)\n        - [Steps](#steps-4)\n    - [CMS with AWS S3](#cms-with-aws-s3)\n      - [Setup:](#setup)\n      - [Usage:](#usage)\n      - [Test environment with LocalStack](#test-environment-with-localstack)\n      - [Setup:](#setup-1)\n  - [Additional Information](#additional-information)\n    - [License](#license)\n    - [Contributors](#contributors)\n    - [Attribution links](#attribution-links)\n    - [References](#references)\n\n\u003c!-- TOC --\u003e\n\n## Instant Trial\n\nYou can try the sandbox instance to have a quick look on the functionality you are\ninterested [https://trial.dirigible.io](https://trial.dirigible.io).\n\n## Contact Us\n\nJoin the Eclipse Dirigible Slack Workspace to chat with the\ncommunity: [https://slack.dirigible.io](https://slack.dirigible.io)\n\n## Get Started\n\n### Download\n\nThe \"fast-track\" - you can download the precompiled binaries produced by the GitHub Actions\nfrom [http://download.dirigible.io/](http://download.dirigible.io/) and skip the build section.\n\nNevertheless, we highly recommend building the binaries from source in order to have all experimental features that are\nnot available in the releases.\n\n### Build\n\n##### Prerequisites\n\n- [Git](http://git-scm.com/)\n- [Java JDK 21+](https://adoptopenjdk.net/)\n- [Maven 3.8.x](http://maven.apache.org/docs/3.8.8/release-notes.html)\n- [esbuild](https://esbuild.github.io/getting-started/#install-esbuild) - `npm i -g esbuild`\n- [tsc](https://www.npmjs.com/package/typescript) - `npm i -g typescript`\n- [ttyd](https://github.com/tsl0922/ttyd)\n\n##### Steps\n\n1. Clone the [project repository - master branch](https://github.com/eclipse/dirigible/tree/master)\n   or [download the latest sources](https://github.com/eclipse/dirigible/archive/refs/heads/master.zip).\n\nIn case there is an issue with 'Filename too long in Git for Windows' then add the fllowing git confoguration\n\n```\ngit config --system core.longpaths true\n```\n\n3.  Go to the root folder.\n4.  Build the project with:\n\n         mvn clean install\n\n    \u003e If you are using Windows, make sure that you open the terminal as Administrator otherwise the tests will fail\n\n- Quick build **with unit tests**:\n\n       mvn -T 1C clean install -D maven.javadoc.skip=true -D license.skip=true\n\n- If you **don't want to trigger license updates**:\n\n       mvn clean install -D license.skip=true\n\n- If you have a **multi-core system, enable threads**:\n\n       mvn -T 1C clean install\n\n- If you **don't need to run tests**, you can add the following argument:\n\n       mvn clean install -D skipTests\n\n- If you **don't need to compile and run tests**:\n\n       mvn clean install -D skipTests -D maven.test.skip=true\n\n- If you want to do a fast build, with **no tests, javadocs and license updates**:\n\n       mvn -T 1C clean install -P quick-build\n\n- If you want to **run all integration tests only**:\n\n  ```shell\n  export HEADLESS='true'\n  mvn clean install -P integration-tests -D selenide.headless=$HEADLESS\n  ```\n\n- If you want to **run specific integration test(s)**:\n\n  ```shell\n  export HEADLESS='true'\n  export TEST='CsvimIT,CreateNewProjectIT'\n\n  mvn clean install -P integration-tests -Dit.test=\"$TEST\" -D selenide.headless=$HEADLESS\n  ```\n\n\u003e The build should pass successfully.\n\nThe produced `dirigible-application-XXX-executable.jar` file is in `build/application/target/` and is ready to be\ndeployed. It is Spring Boot application, so it can be executed locally right away.\n\n##### Maven Profiles\n\n| Profile Name      | Description                                                          |\n| ----------------- | -------------------------------------------------------------------- |\n| tests             | Run unit and integration tests                                       |\n| unit-tests        | Run unit tests                                                       |\n| integration-tests | Run integration tests                                                |\n| quick-build       | Build project skipping tests, javadoc, licensing and code formatting |\n| format            | Format the code                                                      |\n\nTo activate a profile, add it to the maven command.\u003cbr\u003eExample:\n\n```\nmvn clean install -P quick-build\n```\n\n### Run\n\n#### Standalone\n\n##### Prerequisites\n\n**macOS:**\n\n```shell\n        brew install ttyd\n```\n\n**Linux:**\n\nRHEL/CentOS/Fedora:\n\n```shell\n        sudo dnf install ttyd\n```\n\nDebian/Ubuntu:\n\n```shell\n        sudo apt install ttyd\n```\n\nYou do not need to start/enable the standard ttyd service. Dirigible starts ttyd automatically on port 9000.\n\nMore info about **ttyd** can be found at: [ttyd](https://github.com/tsl0922/ttyd)\n\n##### Steps\n\n1.  From the project root directory run command:\n\n         java -jar build/application/target/dirigible-application-*-executable.jar\n\n    \u003e for Windows\n\n         java -jar build/application/target/$((Get-ChildItem dirigible-application-*-executable.jar -recurse -File | Sort-Object LastWriteTime | Select -Last 1).BaseName).jar\n\n2.  In case you want to debug the application run:\n\n        java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 -jar build/application/target/dirigible-application-*-executable.jar\n\n3.  Open a web browser and go to: [http://localhost:8080](http://localhost:8080 \"http://localhost:8080\")\n4.  Login with user: `admin` and password `admin`\n5.  REST API description in an OpenAPI format can be found\n    at: [http://localhost:8080/swagger-ui/index.html](http://localhost:8080/swagger-ui/index.html \"http://localhost:8080/swagger-ui/index.html\")\n\n#### Docker\n\n##### Prerequisites\n\n- [Install Docker](https://docs.docker.com/engine/installation/)\n\n##### Steps\n\n1. Get the container\n\n- Pull the official image from Docker Hub:\n\n        docker pull dirigiblelabs/dirigible:latest\n\n- Build it locally\n\n        cd build/application\n        docker build -t dirigiblelabs/dirigible:latest -f Dockerfile .\n\n  \u003e prerequisite: build the project as described in step\n  \u003e 4 [here](https://github.com/eclipse/dirigible/blob/master/README.md#steps)\n\n- Build it locally **without cache**\n\n        cd build/application\n        docker build --no-cache -t dirigiblelabs/dirigible:latest -f Dockerfile .\n\n  \u003e prerequisite: build the project as described in step\n  \u003e 4 [here](https://github.com/eclipse/dirigible/blob/master/README.md#steps)\n\n2. Start the container\n\n```\ndocker run --name dirigible --rm -p 8080:8080 -p 8081:8081 dirigiblelabs/dirigible:latest\n```\n\nIf you want to have persistent workspace and databases, mount a host folder\n\n```\nexport WORKSPACE_DIR='/tmp/dirigible'\n\ndocker run --name dirigible --rm -p 8080:8080 -p 8081:8081 \\\n    -v \"$WORKSPACE_DIR:/target/dirigible\" \\\n    dirigiblelabs/dirigible:latest\n```\n\n**Note:** we have observed performance issues on Windows when mounting a folder. To improve the perfomance, use\ndedicated volume instead:\n\n```\ndocker volume create dirigible_volume\n\ndocker run --name dirigible --rm -p 8080:8080 `\n    -v \"dirigible_volume:/target/dirigible\" `\n    dirigiblelabs/dirigible:latest\n```\n\n3. Open a web browser and go to: [http://localhost:8080](http://localhost:8080 \"http://localhost:8080\")\n\n4. Optionally you can enhance and customize the Dockerfile\n   from [here](https://github.com/eclipse/dirigible/blob/master/build/application/Dockerfile)\n\n#### Native image\n\n##### Prerequisites\n\n- [Install SDKMAN](https://sdkman.io)\n- Install GraalVM: `sdk install java 21.0.1-graal`\n- Make sure that `JAVA_HOME` and `PATH` env variables point to your graalvm jdk from the previous step\n\n##### Steps\n\n- Execute the following on your github repo root folder\n\n```\n# build dirigible fat jar\nmvn -T 1C clean install -D maven.test.skip=true -D skipTests -D maven.javadoc.skip=true -D license.skip=true\n\nrm -rf dirigible\n\n# build native image\nnative-image -jar 'build/application/target/dirigible-application-10.0.0-SNAPSHOT-executable.jar' -o dirigible\n\n# start dirigible\n./dirigible\n```\n\n#### PostgreSQL\n\n##### Steps\n\n1.  Install PostgreSQL e.g. for MacOS:\n\n         brew install postgresql\n\n    Alternatively you can use docker image\n\n         docker run -itd -e POSTGRES_DB=postgres -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres  -p 5432:5432 --name postgresql postgres\n\n2.  The run it:\n\n        brew services start postgresql\n\n3.  Create a default user:\n\n        createuser -s postgres\n\n4.  And expose the following environment variables:\n\n        export DIRIGIBLE_DATASOURCE_DEFAULT_DRIVER=org.postgresql.Driver\n        export DIRIGIBLE_DATASOURCE_DEFAULT_URL=jdbc:postgresql://localhost:5432/postgres\n        export DIRIGIBLE_DATASOURCE_DEFAULT_USERNAME=postgres\n        export DIRIGIBLE_DATASOURCE_DEFAULT_PASSWORD=postgres\n\n    for Windows execute the following in the terminal with admin privileges\n\n    ```\n    [System.Environment]::SetEnvironmentVariable('DIRIGIBLE_DATASOURCE_DEFAULT_DRIVER','org.postgresql.Driver', 'Machine')\n    [System.Environment]::SetEnvironmentVariable('DIRIGIBLE_DATASOURCE_DEFAULT_URL','jdbc:postgresql://localhost:5432/postgres', 'Machine')\n    [System.Environment]::SetEnvironmentVariable('DIRIGIBLE_DATASOURCE_DEFAULT_USERNAME','postgres', 'Machine')\n    [System.Environment]::SetEnvironmentVariable('DIRIGIBLE_DATASOURCE_DEFAULT_PASSWORD','postgres', 'Machine')\n    ```\n\n5.  Then you can run Dirigible with PostgreSQL default database (DefaultDB).\n\n    \u003e If you have started the Dirigible before, make sure to execute `mvn clean` before starting the Dirigible with the\n    \u003e PostgreSQL\n\n### CMS with AWS S3\n\nEclipse Dirigible's Document perspective can be used with [AWS S3](https://aws.amazon.com/s3/), providing you CMS with\nS3's cloud storage.\n\n#### Setup:\n\n- AWS account with generated credentials (AWS Acces Key, AWS Secret Key)\n- Set up the environment variables regarding CMS/CMS S3 exposed by Eclipse Dirigible. Full list can be\n  found [here](https://www.dirigible.io/help/setup/setup-environment-variables/#cms).\n\n#### Usage:\n\n- Navigate to the `Document` perspective in your Eclipse Dirigible instance\n- Upload a file and you should see the file in the perspective as well as in the S3 bucket\n\n#### Test environment with LocalStack\n\nIf you prefer working with a test environment you can use [LocalStack](https://www.localstack.cloud/).\n\n#### Setup:\n\n- Install LocalStack on your machine using the installation\n  guide [here](https://docs.localstack.cloud/getting-started/installation/) or the following commands:\n\n  - MacOS - `brew install localstack/tap/localstack-cli`\n  - Linux -\n\n    For `x86-64`:\n\n    ```\n     curl -Lo localstack-cli-3.0.2-linux-amd64-onefile.tar.gz \\\n      https://github.com/localstack/localstack-cli/releases/download/v3.0.2/localstack-cli-3.0.2-linux-amd64-onefile.tar.gz\n    ```\n\n    For `ARM64`:\n\n    ```\n    curl -Lo localstack-cli-3.0.2-linux-arm64-onefile.tar.gz \\\n      https://github.com/localstack/localstack-cli/releases/download/v3.0.2/localstack-cli-3.0.2-linux-arm64-onefile.tar.gz\n    ```\n\n    Then extract the LocalStack CLI from the terminal:\n\n    ```\n    sudo tar xvzf localstack-cli-3.0.2-linux-*-onefile.tar.gz -C /usr/local/bin\n    ```\n\n- Start `LocalStack` using - `localstack start -d`\n- Set up the environment variables, mainly `DIRIGIBLE_S3_PROVIDER=localstack`, exposed by Eclipse Dirigible\n\n## Additional Information\n\n### License\n\nThis project is copyrighted by Eclipse Dirigible contributors and is available under\nthe [Eclipse Public License v 2.0](https://www.eclipse.org/legal/epl-v20.html). See [LICENSE.txt](LICENSE.txt)\nand [NOTICE.txt](NOTICE.txt) for further details.\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Feclipse%2Fdirigible.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Feclipse%2Fdirigible?ref=badge_large)\n\n### Contributors\n\nIf you like to contribute to Dirigible, please read the [Contributor's guide](CONTRIBUTING.md).\n\n\u003ca href=\"https://github.com/eclipse/dirigible/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=eclipse/dirigible\" /\u003e\n\u003c/a\u003e\n\n### Attribution links\n\nUnicons by IconScout: [https://github.com/Iconscout/unicons](https://github.com/Iconscout/unicons)\njsTree by vakata: [https://github.com/vakata/jstree](https://github.com/vakata/jstree)\nbpmn-visualization by Process Analytics: [https://github.com/process-analytics/bpmn-visualization-js](https://github.com/process-analytics/bpmn-visualization-js)\nMonaco Editor by Microsoft: [https://github.com/microsoft/monaco-editor](https://github.com/microsoft/monaco-editor)\nmxGraph: [https://github.com/jgraph/mxgraph](https://github.com/jgraph/mxgraph)\nXterm.js: [https://github.com/xtermjs/xterm.js](https://github.com/xtermjs/xterm.js)\nFlowable: [https://github.com/flowable](https://github.com/flowable)\nChart.js: [https://github.com/chartjs/Chart.js](https://github.com/chartjs/Chart.js)\nAG Grid: [https://github.com/ag-grid/ag-grid](https://github.com/ag-grid/ag-grid)\nBlimpKit: [https://github.com/blimpkit/blimpkit.github.io](https://github.com/blimpkit/blimpkit.github.io)\n\n### References\n\n- Project Home: [https://www.dirigible.io](https://www.dirigible.io)\n- Help Portal: [https://help.dirigible.io](https://www.dirigible.io/help)\n- Samples: [https://samples.dirigible.io](https://samples.dirigible.io)\n- Trial Instance: [https://trial.dirigible.io](https://trial.dirigible.io)\n- Slack: [https://slack.dirigible.io](https://slack.dirigible.io)\n- Mailing\n  List: [https://dev.eclipse.org/mailman/listinfo/dirigible-dev](https://dev.eclipse.org/mailman/listinfo/dirigible-dev)\n- Issues: [https://github.com/eclipse/dirigible/issues](https://github.com/eclipse/dirigible/issues)\n- Eclipse Foundation Help Desk: https://gitlab.eclipse.org/eclipsefdn/helpdesk\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-dirigible%2Fdirigible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feclipse-dirigible%2Fdirigible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-dirigible%2Fdirigible/lists"}