Installation

Requirements

  • 2 CPU cores, 1 GB of RAM

  • Linux (x86, 64-bit or ARM, 64-bit), macOS (ARM, 64-bit), Windows Server (x86, 64-bit)

  • PostgreSQL 17 (or newer) or H2 (bundled)

We recommend to run Stretchy Orchestrator on Linux.

At a Glance

  1. Prepare the database, if necessary.

  2. Chose between one of the installation methods (Archive or Container Image) and install the Orchestrator.

  3. Start the Orchestrator and wait for the admin password to be printed to the log.

  4. Log into the web interface at http://localhost:8080 and change the admin password by clicking on My profile.

Archive

Linux

We recommend to run Stretchy Orchestrator as a non-privileged user. For the rest of the steps, we assume that the user is named stretchy.

  1. Download Stretchy Orchestrator for the architecture of your system.

  2. Unpack the archive and move its contents to /usr/local/stretchy-orchestrator.

  3. Adapt the configuration in /usr/local/stretchy-orchestrator/config/application.properties according to your needs. Please see chapter Configuration for what values to fill in.

  4. Create a systemd service configuration in /etc/systemd/system with the name stretchy-orchestrator.service and the contents from Example 1.

  5. Enable the systemd service by running systemctl enable stretchy-orchestrator.service as root.

  6. Start the systemd service by running stystemctl start stretchy-orchestrator.service as root.

Example 1. systemd unit file for Stretchy Orchestrator
[Unit]
Description=Stretchy Orchestrator
After=syslog.target network.target

[Service]
User=stretchy
Group=stretchy
Type=exec
ExecStart=/usr/local/stretchy-orchestrator/lib/runtime/bin/java \
    --enable-preview \
    -cp '/usr/local/stretchy-orchestrator/lib/app/*' \
    dev.stretchy.orchestrator.StretchyOrchestrator
WorkingDirectory=/usr/local/stretchy-orchestrator

[Install]
WantedBy=multi-user.target
This systemd service configuration is insecure. Please see the section systemd in the chapter Configuration for how to harden the systemd service.
We recommend to instruct systemd to restart Stretchy Orchestrator automatically on failure with Restart=. Please see systemd.service(5) for further information.

macOS

We recommend to run Stretchy Orchestrator as a non-privileged user (called "Standard" by macOS). For the rest of the steps, we assume that the user is named stretchy.

  1. Download Stretchy Orchestrator for the architecture of your system.

  2. Unpack the archive and move its contents to /usr/local/stretchy-orchestrator.

  3. Adapt the configuration in /usr/local/stretchy-orchestrator/config/application.properties according to your needs. Please see chapter Configuration for what values to fill in.

  4. Create a job definition for launchd in /Library/LaunchDaemons with the name dev.stretchy.orchestrator.plist and the contents from Example 2.

  5. Enable the Launch Daemon by running launchctl load /Library/LaunchDaemons/dev.stretchy.orchestrator.plist as root.

Example 2. Job definition for Stretchy Orchestrator
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>dev.stretchy.orchestrator</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/stretchy-orchestrator/lib/runtime/bin/java</string>
        <string>--enable-preview</string>
        <string>-cp</string>
        <string>/usr/local/stretchy-orchestrator/lib/app/*</string>
        <string>dev.stretchy.orchestrator.StretchyOrchestrator</string>
    </array>
    <key>WorkingDirectory</key>
    <string>/usr/local/stretchy-orchestrator</string>
    <key>UserName</key>
    <string>stretchy</string>
    <key>GroupName</key>
    <string>staff</string>
    <key>KeepAlive</key>
    <true/>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Windows

Container Image