Elsa 3.0 Help

Traefik

This guide walks you through setting up and running Elsa Server and Studio using a Docker Compose file. The setup includes PostgreSQL as the database, Traefik as a reverse proxy, and Elsa workflows.

Docker Compose Configuration

The following docker-compose.yml file defines services for:

  • PostgreSQL database for data persistence.

  • Elsa Server and Studio, configured to use PostgreSQL.

  • Traefik reverse proxy for routing requests to the appropriate service.

services: # PostgreSQL database. postgres: image: postgres:latest command: -c 'max_connections=2000' environment: POSTGRES_USER: elsa POSTGRES_PASSWORD: elsa POSTGRES_DB: elsa volumes: - postgres-data:/var/lib/postgresql/data ports: - "5432:5432" networks: - elsa-network # Elsa Server and Studio behind Traefik and configured with PostgreSQL. elsa-server-and-studio: image: elsaworkflows/elsa-server-and-studio-v3-3-0-preview:latest pull_policy: always environment: ASPNETCORE_ENVIRONMENT: Development HTTP_PORTS: 8080 HOSTING__BASEURL: http://elsa.localhost:1280 DATABASEPROVIDER: PostgreSql CONNECTIONSTRINGS__POSTGRESQL: Host=postgres;Port=5432;Database=elsa;Username=elsa;Password=elsa labels: - "traefik.enable=true" - "traefik.http.routers.elsa.rule=Host(`elsa.localhost`)" - "traefik.http.services.elsa.loadbalancer.server.port=8080" networks: - elsa-network # Traefik reverse proxy. traefik: image: traefik:2.7.2 command: - "--api.insecure=true" # Enables the Traefik dashboard - "--providers.docker=true" # Enables Docker as the configuration source - "--entrypoints.web.address=:80" # Sets up the HTTP entry point on port 80 ports: - "1280:80" # Expose HTTP port. Access Elsa Studio at: http://elsa.localhost:1280/ - "8080:8080" # Expose Traefik dashboard volumes: - "/var/run/docker.sock:/var/run/docker.sock" # Allows Traefik to communicate with the Docker daemon networks: - elsa-network depends_on: - elsa-server-and-studio networks: elsa-network: driver: bridge volumes: postgres-data:

Setup Instructions

Follow these steps to set up and run the Docker Compose configuration:

  • Ensure you have Docker and Docker Compose installed on your machine. Refer to the prerequisites if necessary.

  • Create a file named docker-compose.yml and paste the provided configuration into it.

  • Run the following command in the directory containing the docker-compose.yml file to start the services:

    docker-compose up
  • Edit your /etc/hosts file (on Linux/Mac) or C:\Windows\System32\drivers\etc\hosts (on Windows) to include the following entry for mapping elsa.localhost to 127.0.0.1:

    127.0.0.1 elsa.localhost
  • Once the services are running:

Environment Configuration

The environment variables and settings used in this Docker Compose file:

  • PostgreSQL: The database user, password, and name are configured as elsa.

  • Elsa Server and Studio: Configured to use PostgreSQL as the database provider.

  • Traefik: Acts as a reverse proxy with routing rules for elsa.localhost.

Troubleshooting

If you encounter issues, check the following:

  • Ensure Docker and Docker Compose are correctly installed and running.

  • Verify the /etc/hosts file includes an entry for elsa.localhost mapping to 127.0.0.1.

  • Inspect logs for each service using docker-compose logs [service-name].

Last modified: 01 December 2024