feat: add Windmill as one-click-app. (#924)

* feat: add Windmill as one-click-app.

* Update Windmill: it's ideal to have one worker and multiple replicas.
This commit is contained in:
Tiago Serafim 2023-05-11 16:39:50 -03:00 committed by GitHub
parent 28a0d317bb
commit 87299cc176
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 105 additions and 0 deletions

105
public/v4/apps/windmill.yml Normal file
View File

@ -0,0 +1,105 @@
captainVersion: 4
services:
$$cap_appname-postgres:
image: postgres:$$cap_postgres_version
volumes:
- $$cap_appname-postgres-data:/var/lib/postgresql/data
restart: always
environment:
POSTGRES_DB: windmill
POSTGRES_USER: postgres
POSTGRES_PASSWORD: $$cap_postgres_pass
caproverExtra:
notExposeAsWebApp: 'true'
$$cap_appname:
image: ghcr.io/windmill-labs/windmill:$$cap_app_version
expose:
- 8000
environment:
DATABASE_URL: postgres://postgres:$$cap_postgres_pass@srv-captain--$$cap_appname-postgres/windmill?sslmode=disable
BASE_URL: $$cap_wm_base_url
RUST_LOG: 'info'
NUM_WORKERS: '0'
DISABLE_SERVER: 'false'
METRICS_ADDR: 'false'
depends_on:
- $$cap_appname-postgres
caproverExtra:
containerHttpPort: '8000'
$$cap_appname-worker:
image: ghcr.io/windmill-labs/windmill:$$cap_app_version
environment:
DATABASE_URL: postgres://postgres:$$cap_postgres_pass@srv-captain--$$cap_appname-postgres/windmill?sslmode=disable
BASE_URL: $$cap_wm_base_url
BASE_INTERNAL_URL: 'http://srv-captain--$$cap_appname:8000'
RUST_LOG: 'info'
NUM_WORKERS: '1'
DISABLE_SERVER: 'true'
KEEP_JOB_DIR: 'false'
DENO_PATH: '/usr/bin/deno'
PYTHON_PATH: '/usr/local/bin/python3'
METRICS_ADDR: 'false'
depends_on:
- $$cap_appname-postgres
caproverExtra:
notExposeAsWebApp: 'true'
$$cap_appname-lsp:
image: ghcr.io/windmill-labs/windmill-lsp:$$cap_app_version
expose:
- 3001
caproverExtra:
containerHttpPort: '3001'
notExposeAsWebApp: 'true'
caproverOneClickApp:
instructions:
start: |-
Windmill is an open-source alternative to Retool, Airplane and n8n to build all your internal tools (endpoints, workflows, UIs) through simple scripts - in Typescript, Python, Go & Bash - and low code builders.
end: |-
Windmill has been successfully deployed!
Please change the following settings before using the service:
1. Go to the settings for `$$cap_appname`
2. Enable **Websocket Support**
3. Enable **HTTPS**
4. Click on **Edit Default Nginx Configurations** and paste the following content before the last closing bracket "}":
```
location /ws/ {
proxy_pass http://srv-captain--$$cap_appname-lsp:3001/ws/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
```
Now you can access it at `https://$$cap_appname.$$cap_root_domain`
Default e-mail is `admin@windmill.dev` and the password is `changeme`
displayName: Windmill
isOfficial: true
description: Windmill is an open-source alternative to Retool, Airplane and n8n.
documentation: https://windmill.dev
variables:
- id: $$cap_app_version
label: Windmill Version
defaultValue: '1.99'
description: Checkout their github page for the valid tags https://github.com/windmill-labs/windmill/releases
validRegex: /^([^\s^\/])+$/
- id: $$cap_wm_base_url
label: WM Base URL
defaultValue: https://$$cap_appname.$$cap_root_domain
description: |-
Server fully qualified url of the user-facing URL.
Example: https://windmill.example.com
- id: $$cap_postgres_version
label: Postgres Version
defaultValue: '15-alpine'
description: Checkout their page for the valid tags https://hub.docker.com/_/postgres
validRegex: /^([^\s^\/])+$/
- id: $$cap_postgres_pass
label: Potgress Database password
description: 'Password for postgres'
defaultValue: $$cap_gen_random_hex(16)
validRegex: /^([^\s^\/])+$/

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB