Windmill: Open-source alternative to Airplane, Superblocks, Retool
-
This would be great if available at Cloudron
Open-source developer infrastructure for internal tools. Self-hostable alternative to Airplane, Pipedream, Superblocks and a simplified Temporal with autogenerated UIs to trigger workflows and scripts as internal apps. Scripts are turned into UIs and no-code modules, no-code modules can be composed into very rich flows, and script and flows can be triggered from internal UIs made with a low-code builder. The script languages supported are: Python, Typescript, Go, Bash.
from: https://github.com/windmill-labs/windmillmore info on self-host
https://docs.windmill.dev/docs/how-tos/self_host/ -
I believe that's how the apps goes app in the wishlist: up!
-
-
https://www.windmill.dev
Turn scripts into workflows and UIs in minutes
Easily create internal apps and invincible workflows with code only where it matters. Self-hostable worker infrastructure: scalable, reliable, fast.
Fully Open-source alternative to Airplane, Superblocks & Retool.Try Windmill CloudSelf-host yourself →
Backed by
Give your scripts Superpowers
Make your scripts production grade and build all of your internal tools with Python, Typescript, Go, Bash, Sql. Compose your scripts as workflows using low-code.
Share an autogenerated UI or build one using low-code. Run it reliably at scale on your infra or ours, with permissioning and monitoring included. Fully open-source and easy to deploy on small and large infra. Any dependency with zero-config.Really fast
- Instant Preview/Execution
- Live logs and job starting in 20ms
- Fastest Workflow Engine
- Only 20ms latency between steps
- Scale to Any Cluster Size
- From Raspberry Pi to large Kubernetes clusters
- Super Snappy Apps
- Build complex apps that load instantly
Scripts
Code to production in minutes
Run long-running heavy background jobs, script with complex dependencies, endpoints with high rpm or simple one-off tasks without any overhead. Trigger them from a webhook or the auto-generated UI and monitor them easily.
-
-
New docs for self-hosting link: https://www.windmill.dev/docs/advanced/self_host
This is very similar to what @andreasdueren is currently packaging, so a reuse of the pattern will be useful.
-
I've been dabbling with trying to create a Windmill on Cloudron container. It's more difficult than other apps. Some notes:
- There is a hard-coded set of ROLEs required of the postgres database:
windmill_admin
, andwindmill_user
. Windmill uses these in DB migration scripts as well as during runtime to control access and access levels (see this section). As far as I can tell, Cloudron's postgres does not offer flexibility to add new roles in the database. - Windmill's LSP (Language Server Protocol) is itself a docker container with various programming languages (node, deno, python, etc.) pinned to certain versions. Because of these pinned versions, it is difficult to integrate into a single container along with the rest of Windmill. This suggests the
docker
Cloudron addon may be necessary. - Windmill also runs workers within docker containers. This may also require the
docker
Cloudron addon.
In my effort to get most of Windmill running inside the same container, I have supervisord running with the following processes:
- caddy
- windmill-server
- windmill-worker
Caddy (or similar) is needed in order to act as reverse proxy for both windmill-server and the windmill-lsp container's websocket service.
The biggest issue at this point is the hard-coded
windmill_admin
andwindmill_user
postgres roles. I'm not sure how to get around this other than to create a separate postgres DB, unfortunately. - There is a hard-coded set of ROLEs required of the postgres database:
-
I've been dabbling with trying to create a Windmill on Cloudron container. It's more difficult than other apps. Some notes:
- There is a hard-coded set of ROLEs required of the postgres database:
windmill_admin
, andwindmill_user
. Windmill uses these in DB migration scripts as well as during runtime to control access and access levels (see this section). As far as I can tell, Cloudron's postgres does not offer flexibility to add new roles in the database. - Windmill's LSP (Language Server Protocol) is itself a docker container with various programming languages (node, deno, python, etc.) pinned to certain versions. Because of these pinned versions, it is difficult to integrate into a single container along with the rest of Windmill. This suggests the
docker
Cloudron addon may be necessary. - Windmill also runs workers within docker containers. This may also require the
docker
Cloudron addon.
In my effort to get most of Windmill running inside the same container, I have supervisord running with the following processes:
- caddy
- windmill-server
- windmill-worker
Caddy (or similar) is needed in order to act as reverse proxy for both windmill-server and the windmill-lsp container's websocket service.
The biggest issue at this point is the hard-coded
windmill_admin
andwindmill_user
postgres roles. I'm not sure how to get around this other than to create a separate postgres DB, unfortunately.@canadaduane said in Windmill: Open-source alternative to Airplane, Superblocks, Retool:
The biggest issue at this point is the hard-coded windmill_admin and windmill_user postgres roles. I'm not sure how to get around this other than to create a separate postgres DB, unfortunately.
The design here is clearly more suited towards isolated deployments, so it might be good to reach out to the devs to see if they can find a way to accommodate..
- There is a hard-coded set of ROLEs required of the postgres database: