captainVersion: 4
services:
    $$cap_appname:
        image: nodered/node-red:$$cap_node-red_version
        volumes:
            - $$cap_appname-data:/data
        restart: always
        environment:
            TZ: $$cap_node-red_timezone
        caproverExtra:
            containerHttpPort: '1880'
caproverOneClickApp:
    variables:
        - id: $$cap_node-red_version
          label: node-red version tag
          description: Checkout their docker page for the valid tags @ https://hub.docker.com/r/nodered/node-red/tags
          defaultValue: 1.1.3-12-minimal
        - id: $$cap_node-red_timezone
          label: timezone
          description: Checkout this list and use tz database name as value @ https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
          defaultValue: Europe/Berlin
    instructions:
        start: Low-code programming for event-driven applications
        end: >-
            node-red is deployed and available as $$cap_appname. 
            To make it function correctly, you have to enable websocket-support.
            It would be also a good idea to set basic authentication or modify the node-red settings respectively to the documentation.

             IMPORTANT: It will take up to 2 minutes for node-red to be ready. Before that, you might see 502 error page.
    displayName: 'Node-Red'
    description: Low-code programming for event-driven applications
    documentation: Read the documentation @ https://nodered.org/docs/
    isOfficial: true
