97 lines
2.3 KiB
Markdown
97 lines
2.3 KiB
Markdown
---
|
|
description: "Building from Source — build and run the Conductor server and ui-next locally for development and testing."
|
|
---
|
|
# Building from source
|
|
|
|
Build and run the Conductor server and `ui-next` locally from source. The default configuration uses in-memory persistence with no indexing — all data is lost when the server stops. This setup is for development and testing only.
|
|
|
|
For persistent backends, use [Docker Compose](deploy.md) or configure a database backend.
|
|
|
|
|
|
## Prerequisites
|
|
|
|
- Java (JDK) 21+
|
|
- (Optional) [Docker](https://www.docker.com/get-started/) for running tests
|
|
|
|
|
|
## Building and running the server
|
|
|
|
1. Clone the repository:
|
|
|
|
```shell
|
|
git clone https://github.com/conductor-oss/conductor.git
|
|
cd conductor
|
|
```
|
|
|
|
2. Run with Gradle:
|
|
|
|
```shell
|
|
cd server
|
|
../gradlew bootRun
|
|
```
|
|
|
|
To use a custom configuration file:
|
|
|
|
```shell
|
|
CONFIG_PROP=config.properties ../gradlew bootRun
|
|
```
|
|
|
|
3. The server is now running:
|
|
|
|
| URL | Description |
|
|
|:----|:---|
|
|
| `http://localhost:8080/swagger-ui/index.html` | REST API docs |
|
|
| `http://localhost:8080/api/` | API base URL |
|
|
|
|
|
|
## Running from a pre-compiled JAR
|
|
|
|
As an alternative to building from source, download and run the pre-compiled JAR:
|
|
|
|
```shell
|
|
export CONDUCTOR_VER=3.21.10
|
|
export REPO_URL=https://repo1.maven.org/maven2/org/conductoross/conductor-server
|
|
curl $REPO_URL/$CONDUCTOR_VER/conductor-core-$CONDUCTOR_VER-boot.jar \
|
|
--output conductor-core-$CONDUCTOR_VER-boot.jar
|
|
java -jar conductor-core-$CONDUCTOR_VER-boot.jar
|
|
```
|
|
|
|
|
|
## Running ui-next from source
|
|
|
|
### Prerequisites
|
|
|
|
- A running Conductor server on port 8080
|
|
- Node.js 18+
|
|
- pnpm 10.x (activate the version pinned by `ui-next/package.json` with `corepack enable`)
|
|
|
|
### Steps
|
|
|
|
```shell
|
|
cd ui-next
|
|
corepack enable
|
|
pnpm install
|
|
```
|
|
|
|
Configure the backend URL in `.env` (the checked-in default targets a local server):
|
|
|
|
```shell
|
|
VITE_WF_SERVER=http://localhost:8080
|
|
```
|
|
|
|
Start the development server:
|
|
|
|
```shell
|
|
pnpm dev
|
|
```
|
|
|
|
The UI is accessible at [http://localhost:1234](http://localhost:1234). For runtime feature flags and authentication configuration, copy `public/context.js.example` to `public/context.js` and edit the copy.
|
|
|
|
To build compiled assets for production hosting:
|
|
|
|
```shell
|
|
pnpm build
|
|
```
|
|
|
|
The production build is written to `ui-next/dist/`.
|