FlowFuse / flowfuse

Connect, collect, transform, visualise, and interact with your Industrial Data in a single platform. Use FlowFuse to manage, scale and secure your Node-RED solutions.
https://flowfuse.com
Other
285 stars 64 forks source link

Review - DebianOS Install (w/Docker) #4573

Open joepavitt opened 1 month ago

joepavitt commented 1 month ago

Given the install instructions available at https://flowfuse.com/docs/install/docker/ go form a clean DebianOS image and install and setup FlowFuse using Docker.

Docker currently represented just shy of 30% of our EE deployments in self-hosted environments, and 35% of CE deployments.

Considerations

Areas for Improvement

ppawlowski commented 1 month ago

FlowFuse platform installation timeline using docker-compose approach:

Installation prerequisites:

Installation timeline:

Total time:

timeline
  title Setup Task Durations with Time in Seconds
  section Initial Steps - 235 seconds
    Download docker-compose release: 47 seconds
    Prepare flowfuse.yaml :  68 seconds
    Prepare docker-compose.yml : 120 seconds
  section HTTPS Configuration (optional)
    Configure https using Let's Encrypt : 270 seconds
    Configure https with own TLS: 215 seconds
  section Run FlowFuse - 50 seconds
    Pull Node-RED image :  19 seconds
    Startup : 31 seconds

My thoughts:

My overall impression is that instructions are overwhelming for someone, who just want to try our software. As discussed, we could transform the docker installation page into a short quick start guide while moving configuration details elsewhere (FAQ).

ppawlowski commented 1 month ago

Additionally, IMO whole installation documentation should be kept in the how-to approach with copy-and-paste commands instead of giving general instructions. Example: edit this file, replace example.com with your domain instruction could be replaced with a single sed command.

ppawlowski commented 2 weeks ago

FlowFuse platform installation timeline using docker-compose approach.

Important note: between the previous and this evaluation, the installation process has been simplified. Due to this fact, approaches cannot be compared 1:1 .

Installation prerequisites:

Installation timeline:

Total time:

timeline
  title Setup Task Durations with Time in Seconds
  section Initial Steps - 48 seconds
    Download docker-compose release: 11 seconds
    Prepare configuration: 37 seconds 
  section HTTPS Configuration (optional)
    Configure https using Let's Encrypt : 13 seconds
    Configure https with own TLS: 68 seconds
  section Run FlowFuse - 105 seconds
    pulling all container images :  60 seconds
    Startup : 45 seconds
joepavitt commented 2 weeks ago

@ppawlowski the "235 seconds" at the start there, where is that time then spent, as the two child items only add to 48 seconds?

Update: Thanks for fixing 😄

ppawlowski commented 2 weeks ago

@ppawlowski the "235 seconds" at the start there, where is that time then spent, as the two child items only add to 48 seconds?

Forgot to change it while copying from the previous evaluation summary.

joepavitt commented 2 weeks ago

Interesting that actually, in the purple/yellow stages, you've saved a lot of time, but the Green went up by 2x?

ppawlowski commented 2 weeks ago

Interesting that actually, in the purple/yellow stages, you've saved a lot of time, but the Green went up by 2x?

On the first run, I considered a Startup as completed once docker compose reported the stack to be up and running. However, today I noticed, that when using automatic TLS certification generation some additional time is needed for certificates to be issued - I added note about it. So on the second run, the Startup period is considered from creating the stack using docker compose till the application is accessible from the browser. With own TLS or no TLS this time is shorter as there is no need to wait for certificates to generate.

Regarding images pull time - the new approach pulls more images in the background. Also, this part may be affected by the network and disk bandwidth.

BTW, in GH dark mode I see different colours ;)