Skip to content

Tutorial: Install 1.2.0 (newer version is broken) #132

@AndiTheHacker

Description

@AndiTheHacker

For everyone having issues with the new 1.3.0 version of flow, here is a tutorial on how to install the old one:

  1. Create your HaRP deploy demon for ExApps as usual. Use the test deploy to verify if it is working.
  2. In your Nextcloud docker instance, create a new file called info.xml. For example, you could do this via docker exec -it nextcloud-app touch info.xml.
  3. Go to https://github.com/nextcloud/flow/blob/main/appinfo/info.xml and copy the contents of that file.
  4. Paste the content somewhere, then edit the <image-tag> entry in the <docker-install> entry. Instead of 1.3.0, you want to have 1.2.0. This is the version of the package that docker will pull. A working info.xml could look like this:
<!--
  - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
  - SPDX-License-Identifier: MIT
-->
<info>
        <id>flow</id>
        <name>Flow (Custom 1.2)</name>
        <summary>Automate and Streamline Your Workflows in Nextcloud</summary>
        <description>
        <![CDATA[Nextcloud Flow is a set of intuitive automation components that allow organizations to automate and streamline internal workflows.

Through easy low-code and no-code interfaces it enables users to effortlessly automate routine tasks, ease data entry and manipulation and reduce manual work.

It includes components designed for a variety of businesses needs and at various scales, from SME to large enterprises.

1. Users can build simple mini-apps to manage structured data through the no-code interface in the Tables app.
2. Users can automate actions on a variety of triggers through no-code interfaces in the Flow user settings.
3. Administrators can additionally configure file access controls to automatically block unauthorized access to sensitive data.
4. Business process annalists and administrators have access to the powerful business automation features built on the open source **Windmill** tool, capable of modeling large business processes that require interaction with internal and external services.

This app provides an easy way to install the Windmill based Business Process Automation component of Flow.

**Requires [`AppAPI`](https://github.com/nextcloud/app_api) and `webhook_listeners` to be enabled to work.**

        ]]></description>
        <version>1.2.0.99</version>
        <licence>agpl</licence>
        <author mail="julien-nc@posteo.net" homepage="https://github.com/julien-nc">Julien Veyssier</author>
        <author mail="mklehr@gmx.net" homepage="https://github.com/marcelklehr">Marcel Klehr</author>
        <author mail="bigcat88@icloud.com" homepage="https://github.com/bigcat88">Alexander Piskun</author>
        <namespace>PyAppV2_flow</namespace>
        <category>tools</category>
        <category>workflow</category>
        <website>https://github.com/nextcloud/flow</website>
        <bugs>https://github.com/nextcloud/flow/issues</bugs>
        <repository type="git">https://github.com/nextcloud/flow</repository>
        <screenshot>https://raw.githubusercontent.com/nextcloud/flow/main/screenshots/flow_1.png</screenshot>
        <screenshot>https://raw.githubusercontent.com/nextcloud/flow/main/screenshots/flow_2.png</screenshot>
        <screenshot>https://raw.githubusercontent.com/nextcloud/flow/main/screenshots/flow_3.png</screenshot>
        <dependencies>
                <nextcloud min-version="30" max-version="33"/>
        </dependencies>
        <external-app>
                <docker-install>
                        <registry>ghcr.io</registry>
                        <image>nextcloud/flow</image>
                        <image-tag>1.2.0</image-tag>
                </docker-install>
                <routes>
                        <route>
                                <url>^api\/w\/nextcloud\/jobs\/.*</url>
                                <verb>GET,POST,PUT,DELETE</verb>
                                <access_level>PUBLIC</access_level>
                                <headers_to_exclude>[]</headers_to_exclude>
                                <bruteforce_protection>[401]</bruteforce_protection>
                        </route>
                        <route>
                                <url>^api\/w\/nextcloud\/jobs_u\/.*</url>
                                <verb>GET,POST,PUT,DELETE</verb>
                                <access_level>PUBLIC</access_level>
                                <headers_to_exclude>[]</headers_to_exclude>
                                <bruteforce_protection>[401]</bruteforce_protection>
                        </route>
                        <route>
                                <url>.*</url>
                                <verb>GET,POST,PUT,DELETE</verb>
                                <access_level>ADMIN</access_level>
                                <headers_to_exclude>[]</headers_to_exclude>
                        </route>
                </routes>
                <environment-variables>
                        <variable>
                                <name>NUM_WORKERS</name>
                                <display-name>Number of workers</display-name>
                                <description>Override the default count of Windmill workers</description>
                        </variable>
                        <variable>
                                <name>EXTERNAL_DATABASE</name>
                                <display-name>External database</display-name>
                                <description>External database URL in format: postgres://db_user:db_pass@db_address:5432/db_name</description>
                        </variable>
                        <variable>
                                <name>RUST_LOG</name>
                                <display-name>Windmill log level</display-name>
                                <description>Possible values: debug, info, warn, error</description>
                                <default>warn</default>
                        </variable>
                </environment-variables>
        </external-app>
</info>

As you can see, I also manipulated the <version> tag for me to know that this is my manual install.

  1. Put the new content into your info.xml file. I did this with the nano editor, but this only works outside of the Nextcloud instance. Hence, it is only possible if you have access to the Nextcloud filesystem. I believe that you could also paste the content into the file using the echo command inside of the Nextcloud docker instance (something like docker exec -it nextcloud-app echo "your xml here" > info.xml)
  2. Now, use occ to register the app with a custom info.xml: docker exec -it nextcloud-app php occ app_api:app:register --info-xml /path/to/your/info.xml flow your_harp_daemon

Done!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions