Skip to content

Building From Source

Prerequisites

  1. JDK 17 or greater
  2. Podman to in order to run Redis and ElasticSearch.
  3. Node for building and running UI. Instructions at https://nodejs.org.
  4. Npm for building and running UI. Instructions at https://www.npmjs.com/.
  5. Redis instance
  6. Elastic Search 6 instance
  7. Docker if you want to run server tests (Optional).

Build the server

Clone the Swift Conductor code from the conductor repo.

git clone https://github.com/swift-conductor/conductor.git

Run

./gradlew server

Navigate to the Swagger API docs:

http://localhost:8080/swagger-ui/index.html

swagger

NOTE for Mac with an Apple Silicon users: If you are using a new Mac with an Apple Silicon Chip, you must make a small change to conductor/grpc/build.gradle - adding "osx-x86_64" to two lines:

protobuf {
    protoc {
        artifact = "com.google.protobuf:protoc:${revProtoBuf}:osx-x86_64"
    }
    plugins {
        grpc {
            artifact = "io.grpc:protoc-gen-grpc-java:${revGrpc}:osx-x86_64"
        }
    }
...
} 

You also need to install Rosetta:

softwareupdate --install-rosetta

Build and run the UI

Clone Swift Conductor UI code from the conductor-ui repo.

git clone https://github.com/swift-conductor/conductor-ui

Install packages

You need Node 14 and npm installed. After that run npm install to install all packages:

npm install

Run

npm run start

Open http://localhost:5000 in your browser.

conductor ui

If you require compiled assets to host on a production web server, the project can be built with the command npm run build.