FlowFuse / flowfuse

Build bespoke, flexible, and resilient manufacturing low-code applications with FlowFuse and Node-RED
https://flowfuse.com
Other
265 stars 63 forks source link

Onboarding: FlowFuse Self-Hosted #4310

Open joepavitt opened 1 month ago

joepavitt commented 1 month ago

Description

May be some overlap with #3839

This Epic is to capture hurdles and areas for improvement for the onboarding process for FlowFuse Self-Hosted. It is broken into two stages:

Installation

The process of retrieving a copy of FlowFuse and running in a particular environment. Ideally, this would be a single line install in some capacity. This can also cover improvements for onboarding resources like documentation/videos.

### Installation
- [ ] Docker: provide interactive script to generate config files
- [ ] k8s: provide interactive script to generate customization.yml

Setup & Configuration

Having an available instance of FlowFuse, this is a review/assessment of the setup steps required to then having a running instance of Node-RED.

### Setup & Configuration

Which customers would this be available to

Self-Hosted

zackwasli commented 1 month ago

Lots of issues with wildcard DNS. Larger orgs do not like the vulnerability it poses and it can take a month or more to get approval just for DNS, delaying evaluation.

Customers/prospects that had an issue:

https://app-eu1.hubspot.com/contacts/26586079/record/0-2/7845572820 https://app-eu1.hubspot.com/contacts/26586079/record/0-2/9080239048 https://app-eu1.hubspot.com/contacts/26586079/record/0-2/11792021958

hardillb commented 1 month ago

The wildcard DNS requirement is a fundamental design point of the Docker & Kubernetes implementation, it can not be removed.

On Kubernetes if the user is prepared to use External DNS then the system can create each DNS entry individually, but this requires granting K8s the ability to dynamically update the DNS which is likely to be even more unwanted than a wildcard entry.

knolleary commented 1 month ago

One pain point for both docker/k8s is the need to create the config files needed to run the platform. We should provide interactive scripts to generate the files. Have added items for both to the tasks above.

hardillb commented 1 month ago

We have a script from the AWS/Digtial Ocean build to build the config file for docker, we should be able to reuse that

https://github.com/FlowFuse/digital-ocean-droplet/blob/main/files/opt/flowforge/first-login.sh

joepavitt commented 1 month ago

How technical are we seeing our customers that install FF locally? Is there first question here that a user is going to know the answer to: "What operating system are you running?"

Screenshot 2024-08-14 at 12 14 12

For manufacturing clients, are they even going to know k8s/docker as assets? We're recently seen the challenges of getting FF running in Windows given the requirement for Docker Desktop too?

joepavitt commented 1 month ago

Regarding the guided script you mentioned @hardillb - would that be guiding users through https://flowfuse.com/docs/install/docker/#configuring-flowfuse?

hardillb commented 1 month ago

Yes, it does the search/replace for the domain and email settings in the flowforge.yml and the docker-compose.yml files

joepavitt commented 1 month ago

Chatting with @ppawlowski about what questions user's are likely to have:

  1. Are you installing for evaluation or for production environment?
  2. Are you deploying into a Cloud environment (e.g. AWS) or dedicated hardware (e.g. factory floor)
  3. If on Dedicated Hardware - What operating System?

What other considerations do they need to have when deciding with of the four paths (Docket, k8s, Do, Docker on AWS) that a user would need to know?

ZJvandeWeg commented 2 days ago

@joepavitt Any updates on this issue? I'd love to understand what's being done to have a bigger install base for FlowFuse