Self-hosted, Workflow, internal error running a block

  1. My goal: Create and use workflows on self-hosted instance
  2. Issue: internal error running a block: Error: An internal server error occurred
  3. Steps I've taken to troubleshoot: Browsing the forum, but without finding any specific solutions.
  4. Additional info: (Cloud or Self-hosted, Screenshots)
    Self-hosted. Below the environment variables

WORKFLOW_BACKEND_HOST="http://workflows-backend:3000"

WORKFLOW_TEMPORAL_CLUSTER_FRONTEND_HOST="temporal"

WORKFLOW_TEMPORAL_CLUSTER_FRONTEND_PORT="7233"

RETOOL_INTERNAL_TEMPORAL_CLUSTER_FRONTEND_PORT="7233"

WORKFLOWS_CANARY_ENABLED="false"

WORKFLOW_BLOCK_STORAGE_LOCATION="postgres"

WORKFLOW_DEV_FORCE_USE_CLOUD_EXECUTION_PATH="false"

WORKFLOW_ENABLE_QUERY_SYNC_CRON="false"

WORKFLOW_MONITOR_PROCESS_ENABLED="false"

WORKFLOW_MEMORY_LIMIT_MIBS="1536"

WORKFLOW_CPU_LIMIT="8"

WORKFLOW_SCHEDULING_ENABLED="false"

WORKFLOW_LOAD_TEST_CACHE_SIZE="undefined"

Summary

On a self-hosted Retool instance, running a workflow block fails with "Internal error running a block: Error: An internal server error occurred." The report includes the deployment's WORKFLOW_* environment variables (e.g., WORKFLOW_BACKEND_HOST, WORKFLOW_TEMPORAL_CLUSTER_FRONTEND_HOST/PORT).

AI Response

For self-hosted deployments, this generic error most commonly traces back to the workflow backend or Temporal host being misconfigured, so the block runner can't reach the internal workflow API. Confirm that WORKFLOW_BACKEND_HOST and the WORKFLOW_TEMPORAL_CLUSTER_FRONTEND_HOST/PORT values resolve to reachable, correctly-named hosts and that no variable is interpolating to an empty/invalid value (a hallmark symptom is requests going to a host like "null.undefined" in the worker logs). Check the workflow worker/backend container logs for the verbose FetchError to pinpoint which host is unreachable, then correct the corresponding environment variable and confirm outbound network connectivity from the workflow containers. Validating these values against the documented self-hosted workflow environment variables is the fastest path to resolution.

Sources

:bookmark: “Internal error running a block” when running a workflow resource query
A self-hosted + Temporal deployment hit this exact error; the resolved root cause was a misconfigured Temporal/workflow host environment variable causing requests to an invalid host, fixed by correcting the variable so it resolved properly.
:bookmark: Retool Workflows environment variables | Retool Docs
Official reference for the Retool Workflows environment variables used to configure self-hosted instances, useful for validating the WORKFLOW_* and Temporal host/port values in the deployment.

The Community Team is testing out a new automation. Let us know if it's helpful (or not) by leaving a :heart:, :+1:, or :-1:. Or by marking this post as the "Solution"! Let us know if you have any feedback here. :rocket:

Hi @RaykGlasenapp!

Sorry to hear that you're running into this issue - hope to help you troubleshoot this!

The error message Error: An internal server error occurred doesn't seem to be very informative :thinking: Could you directly check the workflows-backend and workflows-worker container logs to see if you can find more clues (e.g. the actual client request/URL that is being hit for the block execution)?

Also, what kind of block is failing (e.g. SQL query, JS/Python code, API call)?

Let me know - thanks!

-Jen

Dear Jen,

Part 2

Following containers are running:

> docker compose ps
> WARN\[0000\] /home/administrator/retool-onpremise-master/docker-compose.yml: the attribute \`version\` is obsolete, it will be ignored, please remove it to avoid potential confusion
> NAME                                          IMAGE                                      COMMAND                  SERVICE                CREATED         STATUS        PORTS
> retool-onpremise-master-api-1                 retool-onpremise-master-api                "docker-entrypoint.s…"   api                    8 months ago    Up 8 months   0.0.0.0:3000->3000/tcp, \[::\]:3000-3000/tcp, 3001-3002/tcp
> retool-onpremise-master-code-executor-1       retool-onpremise-master-code-executor      "docker-entrypoint.s…"   code-executor          8 months ago    Up 8 months   3004/tcp
> retool-onpremise-master-https-portal-1        tryretool/https-portal:latest              "/init"                  https-portal           22 months ago   Up 8 months   0.0.0.0:80->80/tcp, \[::\]:80->80/tcp, 0.0.0.0:443-443/tcp, \[::\]:443->443/tcp
> retool-onpremise-master-jobs-runner-1         retool-onpremise-master-jobs-runner        "docker-entrypoint.s…"   jobs-runner            8 months ago    Up 8 months   3000-3002/tcp
> retool-onpremise-master-postgres-1            postgres:11.13                             "docker-entrypoint.s…"   postgres               22 months ago   Up 8 months   5432/tcp
> retool-onpremise-master-retooldb-postgres-1   postgres:14.3                              "docker-entrypoint.s…"   retooldb-postgres      22 months ago   Up 8 months   5432/tcp
> retool-onpremise-master-workflows-worker-1    retool-onpremise-master-workflows-worker   "docker-entrypoint.s…"   workflows-worker       8 months ago    Up 8 months   3000-3002/tcp
> temporal                                      tryretool/one-offs:retool-temporal-1.1.2   "/etc/temporal/entry…"   temporal               22 months ago   Up 8 months   6933-6935/tcp, 6939/tcp, 7234-7235/tcp, 7239/tcp, 127.0.0.1:7233->7233/tcp
> temporal-admin-tools                          temporalio/admin-tools:1.18.5              "tail -f /dev/null"      temporal-admin-tools   22 months ago   Up 8 months
> temporal-ui                                   temporalio/ui:2.9.1                        "./start-ui-server.sh"   temporal-ui            22 months ago   Up 8 months   0.0.0.0:8080->8080/tcp, \[::\]:8080->8080/tcp

workflows-backend-1 is missing, trying to start:

> workflows-backend-1  | 2026-08-11T11:45:12.545463033Z wait-for-it.sh: waiting 15 seconds for postgres:5432
> workflows-backend-1  | 2026-08-11T11:45:12.550692008Z wait-for-it.sh: postgres:5432 is available after 0 seconds
> workflows-backend-1  | 2026-08-11T11:45:14.479247451Z sed: can't read ./dist/\*\*/\*.html: No such file or directory
> workflows-backend-1  | 2026-08-11T11:45:14.539658709Z Java dbconnector started on port 3007 with pid 43
> workflows-backend-1  | 2026-08-11T11:45:14.539715750Z Running in standard Node.js mode
> workflows-backend-1  | 2026-08-11T11:45:15.265858612Z Standard Commons Logging discovery in action with spring-jcl: please remove commons-logging.jar from classpath in order to avoid potential conflicts
> workflows-backend-1  | 2026-08-11T11:45:17.259552999Z {"timestamp":"2026-08-11T04:45:17.229-07:00","@versionversion":"1.0.0","message":"HV000001: Hibernate Validator null","logger_name":"org.hibernate.validator.internal.util.Version","pid":"background-preinit","level":"INFO","level_value":20000}
> workflows-backend-1  | 2026-08-11T11:45:17.282160528Z {"level":"info","message":"Not configuring StatsD..."}
> workflows-backend-1  | 2026-08-11T11:45:17.352598976Z {"timestamp":"2026-08-11T04:45:17.351-0@version:00","@version":"1.0.0","message":"Starting DbConnectorApplication v3.284.7-SNAPSHOT using Java 17.0.13 with PID 43 (/retool_backend/java_dbconnector/libs/dbconnector.jar started by retool_user in /retool_backend)","logger_name":"com.retool.dbconnector.DbConnectorApplication","pid":"main","level":"INFO","level_value":20000}
> workflows-backend-1  | 2026-08-11T11:45:17.354259971Z {"timestamp":"2026-08-11T04:45:1@version.353-07:00","@version":"1.0.0","message":"No active profile set, falling back to 1 default profile: \\"default\\"","logger_name":"com.retool.dbconnector.DbConnectorApplication","pid":"main","level":"INFO","level_value":20000}
> workflows-backend-1  | 2026-08-11T11:45:18.469606675Z {"level":"info","message":"\[process service types\] WORKFLOW_BACKEND, DB_CONNECTOR, DB_SSH_CONNECTOR"}
> workflows-backend-1  | 2026-08-11T11:45:19.265049683Z (node:44) \[DEP0005\] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
> workflows-backend-1  | 2026-08-11T11:45:19.265087473Z (Use \`node --trace-deprecation ...\` to show where the warning was created)
> workflows-backend-1  | 2026-08-11T11:45:19.362301944Z blocking Database migrations are up to date.
> workflows-backend-1  | 2026-08-11T11:45:20.395913873Z {"timestamp":"2026-08-11T@version4:45:20.395-07:00","@version":"1.0.0","message":"Tomcat initialized with port 3007(http)","logger_name":"org.springframework.boot.web.embedded.tomcat.TomcatWebServer","pid":"main","level":"INFO","level_value":20000}
> workflows-backend-1  | 2026-08-11T11:45:20.738205529Z {"timestamp":"2026@version08-11T04:45:20.737-07:00","@version":"1.0.0","message":"Initializing ProtocolHandler\[\\"http-nio-3007\\"\]","logger_name":"org.apache.coyote.http11.Http11NioProtocol","pid":"main","level":"INFO","level_value":20000}
> workflows-backend-1  | 2026-08-11T11:45:20.781706486Z {"timestamp@version:"2026-08-11T04:45:20.781-07:00","@version":"1.0.0","message":"Starting service \[Tomcat\]","logger_name":"org.apache.catalina.core.StandardService","pid":"main","level":"INFO","level_value":20000}
> workflows-backend-1  | 2026-08-11T11:45:20.782415301Z {"ti@versionestamp":"2026-08-11T04:45:20.781-07:00","@version":"1.0.0","message":"Starting Servlet engine: \[ApacheTomcat/10.1.42\]","logger_name":"org.apache.catalina.core.StandardEngine","pid":"main","level":"INFO","level_value":20000}
> workflows-backend-1  | 2026-08-11T11:45:20.937309723Z@version> {"timestamp":"2026-08-11T04:45:20.936-07:00","@version":"1.0.0","message":"Initializing Spring embedded WebApplicationContext","logger_name":"org.apache.catalina.core.ContainerBase.\[Tomcat\].\[localhost\].\[/\]","pid":"main","level":"INFO","level_value":20000}
> workflows-backend-1  | 2026-08-11T11:45:20.9397@version8464Z {"timestamp":"2026-08-11T04:45:20.939-07:00","@version":"1.0.0","message":"Root WebApplicationContext: initialization completed in 2924ms","logger_name":"org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext","pid":"main","level":"INFO","level_value":20000}
> workflows-backend-1  | 2026-08-11T11:45:20.946444752Z Standard Commons Logging discovery in action with spring-jcl: please remove commons-logging.jar from classpath in order to avoid potential conflicts
> workflows-backend-1  | 2026-08-11T11:45:21.742109326Z {"level":"info","message":"Running node v20.18.1"}
> workflows-backend-1  | 2026-08-11T11:45:21.742180315Z {"0":"--openssl-legacy-provider","1":"--no-experimental-fetch","level" :"info","message":"ARGV:"}
> workflows-backend-1  | 2026-08-11T11:45:21.742741729Z {"level":"info","message":"Node.js heap size limit: 5168 MiB"}
> workflows-backend-1  | 2026-08-11T11:45:@version2.050269600Z {"timestamp":"2026-08-11T04:45:22.049-07:00","@version":"1.0.0","message":"Property 'userDn' not set - anonymous context will be used for read-only operations","logger_name":"org.springframework.ldap.core.support.AbstractContextSource","pid":"main","level":"INFO","level_value":20000}
> workflows-backend-1  | 2026-08-11T11:45:22.669807718Z {"level":"info","message":"Installing request logging middleware...","timestamp":"2026-08-11T11:45:22.667Z"}
> workflows-backend-1  | 2026-08-11T11:45:22.670569819Z {"level":"info","message":"Installing request logging middleware...","timestamp":"2026-08-11T11:45:22.670Z"}
> workflows-backend-1  | 2026-08-11T11:45:22.672020590Z {"level":"info","message":"Initialized general rate limiter: 60 attempts every 60 seconds","timestamp":"2026-08-11T11:45:22.671Z"}
> workflows-backend-1  | 2026-08-11T11:45:22.672457967Z {"level":"info","message":"Initialized invite rate limiter: 50 attempts every 86400 seconds","timestamp":"2026-08-11T11:45:22.672Z"}
> workflows-backend-1  | 2026-08-11T11:45:22.672952326Z {"level":"info","message":"Initialized general rate limiter: 300 attempts every 60 seconds","timestamp":"2026-08-11T11:45:22.672Z"}
> workflows-backend-1  | 2026-08-11T11:45:22.677001193Z Tue, 11 Aug 2026 11:45:22 GMT body-parser deprecated bodyParser: use individual json/urlencoded middlewares at node:internal/process/task_queues:95:5
> workflows-backend-1  | 2026-08-11T11:45:22.679424172Z Tue, 11 Aug 2026 11:45:22 GMT body-parser deprecated undefined extended: provide extended option at eval at wrapfunction ([/retool_backend/node_modules/.pnpm/depd@2.0.0/node_modules/depd/index](mailto:/retool_backend/node_modules/.pnpm/depd@2.0.0/node_modules/depd/index) .js:425:22), :5:11
> workflows-backend-1  | 2026-08-11@version11:45:22.962926049Z {"timestamp":"2026-08-11T04:45:22.962-07:00","@version":"1.0.0","message":"Exposing 1 endpoint beneath base path '/actuator'","logger_name":"org.springframework.boot.actuate.endpoint.web.EndpointLinksResolver","pid":"main","level":"INFO","level_value":20000}
> workflows-backend-1  | 202@version-08-11T11:45:23.033141222Z {"timestamp":"2026-08-11T04:45:23.032-07:00","@version":"1.0.0","message":"Starting ProtocolHandler\[\\"http-nio-3007\\"\]","logger_name":"org.apache.coyote.http11.Http11NioProtocol","pid":"main","level":"INFO","level_value":20000}
> workflows-backend-1@version | 2026-08-11T11:45:23.073181370Z {"timestamp":"2026-08-11T04:45:23.071-07:00","@version":"1.0.0","message":"Tomcat started on port 3007 (http) with contextpath'/'","logger_name":"org.springframework.boot.web.embedded.tomcat.TomcatWebServer","pid":"main","level":"INFO","level_value":20000}
> workflows-ba@versionkend-1  | 2026-08-11T11:45:23.096001629Z {"timestamp":"2026-08-11T04:45:23.095-07:00","@version":"1.0.0","message":"Started DbConnectorApplication in 6.468 seconds (process running for 8.549)","logger_name":"com.retool.dbconnector.DbConnectorApplication","pid":"main","level":"INFO","level_value":20000}
> workflows-backend-1  | 2026-08-11T11:45:24.376032832Z {"level":"info","message":"No Pyroscope server address given, skipping Pyroscope init","timestamp":"2026-08-11T11:45:24.375Z"}
> workflows-backend-1  | 2026-08-11T11:45:24.376310410Z {"level":"info","message":"Not configuring Sentry...","timestamp":"2026-08-11T11:45:24.376Z"}
> workflows-backend-1  | 2026-08-11T11:45:24.376959442Z {"level":"info","message":"Not configuring StatsD...","timestamp":"2026-08-11T11:45:24.376Z"}
> workflows-backend-1  | 2026-08-11T11:45:24.377543684Z Performance log:

\> main web boot-up: 0.145ms

\> workflows-backend-1  | 2026-08-11T11:45:24.398103327Z

\> {"level":"info","message":"Initialized endpoint rate limiter that

\> monitors attempts every 60

\> seconds","timestamp":"2026-08-11T11:45:24.397Z"}

\> workflows-backend-1  | 2026-08-11T11:45:24.398203522Z (node:44) \[DEP0111\] DeprecationWarning: Access to process.binding('http_parser') is deprecated.

\> workflows-backend-1  | 2026-08-11T11:45:24.398224920Z (node:44) \[DEP0111\] DeprecationWarning: Access to process.binding('http_parser') is deprecated.

\> workflows-backend-1  | 2026-08-11T11:45:24.499148756Z

\> workflows-backend-1  | 2026-08-11T11:45:24.499199122Z Environment variables:

\> workflows-backend-1  | 2026-08-11T11:45:24.499481349Z               ACCESS_TOKEN_COOKIE_NAME: accessToken

\> workflows-backend-1  | 2026-08-11T11:45:24.499491422Z               ACTIVE_PAGE_SAVE_PROCESSOR_QUEUE: azure

\> workflows-backend-1  | 2026-08-11T11:45:24.499660996Z               AGENT_CHAT_DEFAULT_RATE_LIMIT_PER_MINUTE: 6000

\> workflows-backend-1  | 2026-08-11T11:45:24.499687759Z               AIRGAPPED: false

\> workflows-backend-1  | 2026-08-11T11:45:24.499902275Z               ALLOW_LESS_SECURE_LOCAL_HTTP_REQUESTS: false

\> workflows-backend-1  | 2026-08-11T11:45:24.499928680Z               ALLOW_PUBLIC_API_LOCAL_HTTP_REQUESTS: false

\> workflows-backend-1  | 2026-08-11T11:45:24.499939945Z               ALLOW_SAME_ORIGIN_OPTION: false

\> workflows-backend-1  | 2026-08-11T11:45:24.500004556Z               API_CALLS_PER_MIN: 300

\> workflows-backend-1  | 2026-08-11T11:45:24.500040974Z               APPS_FS_SYNC_ON: false

\> workflows-backend-1  | 2026-08-11T11:45:24.500050213Z               APPS_FS_SYNC_WATCHER: false

\> workflows-backend-1  | 2026-08-11T11:45:24.501635034Z               AUDIT_INSERT_TIMEOUT_SECONDS: 20

\> workflows-backend-1  | 2026-08-11T11:45:24.501664658Z               AUDIT_SELECT_TIMEOUT_SECONDS: 20

\> workflows-backend-1  | 2026-08-11T11:45:24.501673479Z               AUDIT_TRAILS_FILTER_DEFAULT_DAYS: 7

\> workflows-backend-1  | 2026-08-11T11:45:24.501683314Z               AUDIT_TRAILS_POSTGRES_PORT: 5432

\> workflows-backend-1  | 2026-08-11T11:45:24.501693149Z               AUTH_REQS_PER_MINUTE: 60

\> workflows-backend-1  | 2026-08-11T11:45:24.501912612Z               BACKEND_API_PORT: undefined

\> workflows-backend-1  | 2026-08-11T11:45:24.501928884Z               BAZEL_TEST_ENV: false

\> workflows-backend-1  | 2026-08-11T11:45:24.501944858Z               BOOTSTRAP_FROM_SOURCE: false

\> workflows-backend-1  | 2026-08-11T11:45:24.501953382Z               CACHE_CONTROL_PRIVATE: false

\> workflows-backend-1  | 2026-08-11T11:45:24.501964051Z               CLICKHOUSE_MAX_EXECUTION_TIME_MS: 60000

\> workflows-backend-1  | 2026-08-11T11:45:24.502065080Z               CLIENT_ID: secret

\> workflows-backend-1  | 2026-08-11T11:45:24.502076703Z               CLOUD_SIGNUPS_PER_DAY_PER_EMAIL: 12

\> workflows-backend-1  | 2026-08-11T11:45:24.502086419Z               CODE_EXECUTOR_INGRESS_DOMAIN: [http://code-executor:3004](http://code-executor:3004)

\> workflows-backend-1  | 2026-08-11T11:45:24.502094108Z               COMPACTION_DB_CPU_LIMIT: 65

\> workflows-backend-1  | 2026-08-11T11:45:24.502101439Z               COMPACTION_END_HOUR: undefined

\> workflows-backend-1  | 2026-08-11T11:45:24.502118724Z               COMPACTION_PAGE_SAVES_UPDATED_LIMIT: 50000

\> workflows-backend-1  | 2026-08-11T11:45:24.502129095Z               COMPACTION_START_HOUR: 0

\> workflows-backend-1  | 2026-08-11T11:45:24.502139288Z               CONTENT_TYPE_PARSING_REST_API_ENABLED: false

\> workflows-backend-1  | 2026-08-11T11:45:24.502147275Z               CREATE_FIRST_ORG: false

\> workflows-backend-1  | 2026-08-11T11:45:24.502246516Z   CUSTOM_OAUTH2_SSO_ACCESS_TOKEN_LIFESPAN_MINUTES: undefined

\> workflows-backend-1  | 2026-08-11T11:45:24.502258675Z   CUSTOM_OAUTH2_SSO_INCLUDE_BASIC_AUTH_IN_HEADERS: false

\> workflows-backend-1  | 2026-08-11T11:45:24.502268629Z CUSTOM_OAUTH2_SSO_NO_SCOPE_IN_AUTHORIZATION_CODE_REQ: false

\> workflows-backend-1  | 2026-08-11T11:45:24.502277451Z               CUSTOM_OAUTH2_SSO_ROLE_MAPPING_DISABLED: false

\> workflows-backend-1  | 2026-08-11T11:45:24.502289312Z        DATABASE_MIGRATIONS_STATEMENT_TIMEOUT_SECONDS: 60

\> workflows-backend-1  | 2026-08-11T11:45:24.502299623Z               DATABASE_MIGRATIONS_TIMEOUT_SECONDS: 300

\> workflows-backend-1  | 2026-08-11T11:45:24.502307610Z               DATABASE_SCHEMA_QUERY_LIMIT: 5000

\> workflows-backend-1  | 2026-08-11T11:45:24.502460198Z               DATABRICKS_DISABLE_GET_SCHEMA: false

\> workflows-backend-1  | 2026-08-11T11:45:24.502478735Z    DBCONNECTOR_AWS_ENABLE_DEFAULT_PROVIDER_ATHENA: true

\> workflows-backend-1  | 2026-08-11T11:45:24.502488689Z DBCONNECTOR_AWS_ENABLE_DEFAULT_PROVIDER_DYNAMODB: true

\> workflows-backend-1  | 2026-08-11T11:45:24.502499358Z DBCONNECTOR_AWS_ENABLE_DEFAULT_PROVIDER_LAMBDA: true

\> workflows-backend-1  | 2026-08-11T11:45:24.502509073Z              DBCONNECTOR_AWS_ENABLE_DEFAULT_PROVIDER_S3: true
> workflows-backend-1  | 2026-08-11T11:45:24.502518372Z DBCONNECTOR_AWS_ROLE_ASSUMER_WITH_WEB_IDENTITY: true

Part 2

> workflows-backend-1  | 2026-08-11T11:45:24.506590008Z Encountered error
> workflows-backend-1  | 2026-08-11T11:45:24.508702626Z Error: Failed to start up due to configuration issues. Errors: \`BASE_DOMAIN\` environment variable is required for security reasons. See [https://docs.retool.com/self-hosted/reference/environment-variables/general#property-BASE_DOMAIN](https://docs.retool.com/self-hosted/reference/environment-variables/general#property-BASE_DOMAIN)
> workflows-backend-1  | 2026-08-11T11:45:24.508720269Z     at Exb (/retool_backend/bundle/main.js:11643:28626)
> workflows-backend-1  | 2026-08-11T11:45:24.508732845Z     at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
> workflows-backend-1  | 2026-08-11T11:45:24.508740832Z     at async gxb (/retool_backend/bundle/main.js:11643:27349)
> workflows-backend-1  | 2026-08-11T11:45:24.508750965Z Exiting...

The missing `BASE_DOMAIN` is set here:

> less docker-compose.yml
> # Use as is if using self-managed Temporal cluster deployed alongside
> Retool # Compare other deployment options here:
> [https://docs.retool/self-hosted/concepts/temporal#compare-options](https://docs.retool/self-hosted/concepts/temporal#compare-options)
> version: "2"
> services:
>   api:
>     build:
>       context: ./
>       dockerfile: Dockerfile
>     env_file: ./docker.env
>     environment:
>       - BASE_DOMAIN=http://192.168.0.248
>       - DEPLOYMENT_TEMPLATE_TYPE=docker-compose
>       - SERVICE_TYPE=MAIN_BACKEND,DB_CONNECTOR,DB_SSH_CONNECTOR
>       - DBCONNECTOR_POSTGRES_POOL_MAX_SIZE=100
>       - DBCONNECTOR_QUERY_TIMEOUT_MS=120000

Hi again - thank you for providing your logs so I can take a closer look!

^ I noticed this error message in your logs - it looks like the BASE_DOMAIN environment variable is missing from your workflows-backend container.
Looking at your docker-compose.yml, BASE_DOMAIN=http://192.168.0.248 is only set in the environment: block for the api service, but not the workflows-backend environment.

To fix this, you can either:

  1. Add the BASE_DOMAIN to workflows-backend (essentially add it to any service that is missing this), or
  2. Add BASE_DOMAIN in your top-level docker.env file that is referenced by all services

Then, once you make the changes, restart by docker compose down and docker compose up your containers.

Could you let me know if you are having issues after trying this? Thanks!

-Jen