main.ymlΒΆ

---
application_id: "web-app-flowise"
entity_name: "{{ application_id | get_entity_name }}"
swarm_stack_converge_retries: 600
domain: "{{ lookup('domain',application_id) }}"
http_port: "{{ lookup('config', application_id, 'services.flowise.ports.local.http') }}"

FLOWISE_CONTAINER: "{{ lookup('config', application_id, 'services.flowise.name') }}"
FLOWISE_PORT_INTERNAL: 3000
FLOWISE_NODE_MODULES: /opt/flowise/node_modules
FLOWISE_BUILD_DIR: "{{ [lookup('container', application_id, 'directories.instance'), 'build'] | path_join }}"
FLOWISE_NPM_VERSION: "{{ lookup('config', application_id, 'services.flowise.npm_version') }}"
FLOWISE_SQLITE_VERSION: "{{ lookup('config', application_id, 'services.flowise.sqlite_version') }}"

FLOWISE_LDAP_ENABLED: "{{ lookup('config', application_id, 'services.ldap.enabled') }}"

FLOWISE_LITELLM_ENABLED: "{{ lookup('config', application_id, 'services.litellm.enabled') }}"
FLOWISE_LITELLM_URL: "{{ LITELLM_BASE_LOCAL_URL }}"
FLOWISE_LITELLM_API_KEY: "{{ lookup('config', application_id, 'secrets.credentials.litellm_api_key') }}"

FLOWISE_QDRANT_API_KEY: "{{ lookup('engine', 'qdrant', application_id, 'password') }}"
FLOWISE_QDRANT_INTERNAL_URL: "{{ lookup('engine', 'qdrant', application_id, 'url') }}"

FLOWISE_MCP_ENABLED: "{{ lookup('config', application_id, 'mcp.enabled') }}"
FLOWISE_MCP_TRANSPORT: "{{ lookup('config', application_id, 'mcp.supported_transports') | first }}"
FLOWISE_MCP_SERVERS: >-
  {%- set out = [] -%}
  {%- if FLOWISE_MCP_ENABLED | bool -%}
    {%- for server in MCP_DISCOVERED_SERVERS if server | mcp_authorization_is_renderable -%}
      {%- set _ = out.append(server) -%}
    {%- endfor -%}
  {%- endif -%}
  {{ out }}
FLOWISE_API_BOT_USER: "{{ lookup('users', 'flowise-api-bot') }}"

FLOWISE_API_BOT_PASSWORD: "{{ FLOWISE_API_BOT_USER.password }}"
FLOWISE_MCP_API_KEY_NAME: "infinito:mcp-registry"
FLOWISE_MCP_FIXTURE:
  - id: svc-db-qdrant
    tool: qdrant_list_collections
    args: {}
  - id: web-app-prometheus
    tool: prometheus_get_targets
    args: {}
  - id: web-app-homeassistant
    tool: GetDateTime
    args: {}
FLOWISE_MCP_DESIRED: >-
  {%- set out = [] -%}
  {%- for server in FLOWISE_MCP_SERVERS -%}
    {%- set _ = out.append({
      'id': server.id,
      'url': server.url,
      'transport': server.transport | replace('-', '_'),
      'header': 'Authorization',
      'token': server | mcp_authorization,
      'tools': server.tools}) -%}
  {%- endfor -%}
  {{ out }}