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 depends_on: - $$cap_appname-postgres caproverExtra: containerHttpPort: 8000 $$cap_appname-worker: image: ghcr.io/windmill-labs/windmill:$$cap_app_version volumes: - /var/run/docker.sock:/var/run/docker.sock 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: 1 DISABLE_SERVER: 'true' WORKER_TAGS: deno,python3,go,bash,dependency,flow,hub,other,bun depends_on: - $$cap_appname-postgres caproverExtra: notExposeAsWebApp: 'true' $$cap_appname-worker-native: image: ghcr.io/windmill-labs/windmill:$$cap_app_version volumes: - /var/run/docker.sock:/var/run/docker.sock 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: 1 DISABLE_SERVER: 'true' PARALLEL_NATIVE_JOBS: 12 WORKER_TAGS: nativets,postgresql,mysql,graphql depends_on: - $$cap_appname-postgres caproverExtra: notExposeAsWebApp: 'true' $$cap_appname-lsp: image: ghcr.io/windmill-labs/windmill-lsp:$$cap_app_version volumes: - $$cap_appname-lsp-cache:/root/.cache 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.135.1' 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 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^\/])+$/