LogoLogo
GitHub
  • Elsa Workflows 3
  • Getting Started
    • Concepts
      • Outcomes
      • Correlation ID
    • Hello World
    • Prerequisites
    • Packages
    • Containers
      • Docker
      • Docker Compose
        • Elsa Server + Studio
        • Elsa Server + Studio - Single Image
        • Persistent Database
        • Traefik
  • Application Types
    • Elsa Server
    • Elsa Studio
    • Elsa Server + Studio (WASM)
  • Guides
    • HTTP Workflows
      • Programmatic
      • Designer
    • External Application Interaction
    • Loading Workflows from JSON
    • Running Workflows
      • Using Elsa Studio
      • Using a Trigger
      • Dispatch Workflow Activity
  • Activities
    • Control Flow
      • Decision
    • MassTransit
      • Tutorial
  • Expressions
    • C#
    • JavaScript
    • Python
    • Liquid
  • Extensibility
    • Custom Activities
  • Reusable Triggers (3.5-preview)
  • Multitenancy
    • Introduction
    • Setup
  • Operate
    • Variables
    • Activation Strategies
    • Incidents
      • Strategies
      • Configuration
    • Alterations
      • Alteration Plans
        • REST API
      • Applying Alterations
        • REST API
        • Extensibility
  • Optimize
    • Log Persistence
    • Retention
  • Hosting
    • Distributed Hosting
Powered by GitBook
On this page
  • Docker Compose File Structure
  • Running the Docker Compose File
  • Service Configuration Details
Edit on GitHub
  1. Getting Started
  2. Containers
  3. Docker Compose

Elsa Server + Studio

Using Docker Compose, you can quickly set up and run both Elsa Server and Elsa Studio. This guide walks you through creating a docker-compose.yml file to deploy these services.

Docker Compose File Structure

Below is the full content of a docker-compose.yml file for deploying Elsa Server and Elsa Studio with minimal configuration:

services:

    # Elsa Server.
    elsa-server:
        image: elsaworkflows/elsa-server-v3-4-0-preview:latest
        pull_policy: always
        environment:
            ASPNETCORE_ENVIRONMENT: Development
            HTTP_PORTS: 8080
            HTTP__BASEURL: http://localhost:12000
        ports:
            - "12000:8080"

    # Elsa Studio connected to Elsa Server.
    elsa-studio:
        image: elsaworkflows/elsa-studio-v3-4-0-preview:latest
        pull_policy: always
        environment:
            ASPNETCORE_ENVIRONMENT: Development
            HTTP_PORTS: 8080
            HTTP__BASEURL: http://localhost:13000
            ELSASERVER__URL: http://localhost:12000/elsa/api
        ports:
            - "13000:8080"
        depends_on:
            - elsa-server

Save this file as docker-compose.yml in your working directory.

Running the Docker Compose File

To start the services defined in the docker-compose.yml file, use the following command in your terminal:

docker-compose up

This command will:

  • Pull the necessary Docker images (elsaworkflows/elsa-server-v3-4-0-preview and elsaworkflows/elsa-studio-v3-4-0-preview).

  • Start both services (Elsa Server and Elsa Studio).

Once the services are running, you can access them at the following URLs:

Service Configuration Details

Here is a quick overview of the services defined in the Docker Compose file:

Elsa Server

Elsa Server is configured to run on http://localhost:12000. Key environment variables include:

  • ASPNETCORE_ENVIRONMENT: Specifies the environment (e.g., Development).

  • HTTP_PORTS: Specifies the HTTP port within the container.

  • HTTP__BASEURL: Sets the base URL for the server.

Elsa Studio

Elsa Studio is configured to run on http://localhost:13000. It connects to Elsa Server at http://localhost:12000/elsa/api. Key environment variables include:

  • ASPNETCORE_ENVIRONMENT: Specifies the environment (e.g., Development).

  • HTTP_PORTS: Specifies the HTTP port within the container.

  • HTTP__BASEURL: Sets the base URL for the Studio.

  • ELSASERVER__URL: Configures the URL of the connected Elsa Server.

Network Configuration

Ensure the ports specified in the docker-compose.yml file (e.g., 12000:8080 and 13000:8080) are not already in use on your system. If they are, adjust the port mappings to avoid conflicts.

PreviousDocker ComposeNextElsa Server + Studio - Single Image

Last updated 1 month ago

Elsa Server:

Elsa Studio:

http://localhost:12000
http://localhost:13000