diff --git a/Apps/Windmill/docker-compose.yml b/Apps/Windmill/docker-compose.yml new file mode 100644 index 000000000..0fd5b4df7 --- /dev/null +++ b/Apps/Windmill/docker-compose.yml @@ -0,0 +1,183 @@ +name: windmill +services: + db: + deploy: + # To use an external database, set replicas to 0 and set DATABASE_URL to the external database url in the .env file + replicas: 1 + image: postgres:14 + restart: unless-stopped + volumes: + - db_data:/var/lib/postgresql/data + expose: + - 5432 + environment: + POSTGRES_PASSWORD: changeme + POSTGRES_DB: windmill + healthcheck: + test: ["CMD-SHELL", "pg_isready -U postgres"] + interval: 10s + timeout: 5s + retries: 5 + x-casaos: + envs: + - container: POSTGRES_PASSWORD + description: + en_us: Password for the Postgres DB + - container: POSTGRES_DB + description: + en_us: Name of the Postgres DB + ports: + - container: "5432" + description: + en_us: Postgres DB port (default 5432) + volumes: + - container: db_data + description: + en_us: Postgres data directory. + + windmill_server: + image: ghcr.io/windmill-labs/windmill:main + pull_policy: always + deploy: + replicas: 1 + restart: unless-stopped + expose: + - 8000 + ports: + - 3011:8000 + environment: + - DATABASE_URL=postgres://postgres:changeme@db/windmill?sslmode=disable + - MODE=server + depends_on: + db: + condition: service_healthy + x-casaos: + envs: + - container: DATABASE_URL + description: + en_us: URL Encoded string of Postgres DB + - container: MODE + description: + en_us: Leave as "server" + ports: + - container: "3011" + description: + en_us: The port that windmill will be accessible on + + windmill_worker: + image: ghcr.io/windmill-labs/windmill:main + pull_policy: always + deploy: + replicas: 3 + resources: + limits: + cpus: "1" + memory: 2048M + restart: unless-stopped + environment: + - DATABASE_URL=postgres://postgres:changeme@db/windmill?sslmode=disable + - MODE=worker + - WORKER_GROUP=default + depends_on: + db: + condition: service_healthy + # to mount the worker folder to debug, KEEP_JOB_DIR=true and mount /tmp/windmill + volumes: + # mount the docker socket to allow to run docker containers from within the workers + - /var/run/docker.sock:/var/run/docker.sock + - worker_dependency_cache:/tmp/windmill/cache + x-casaos: + envs: + - container: DATABASE_URL + description: + en_us: URL Encoded string of Postgres DB + - container: MODE + description: + en_us: Leave as "worker" + - container: WORKER_GROUP + description: + en_us: The default group name for workers + volumes: + - container: /var/run/docker.sock + description: + en_us: Map the docker sock to allow windmill workers to run docker containers + - container: worker_dependency_cache + description: + en_us: A temporary directory for dependencies needed by windmill workers + + ## This worker is specialized for "native" jobs. Native jobs run in-process and thus are much more lightweight than other jobs + windmill_worker_native: + # Use ghcr.io/windmill-labs/windmill-ee:main for the ee + image: ghcr.io/windmill-labs/windmill:main + pull_policy: always + deploy: + replicas: 2 + resources: + limits: + cpus: "0.1" + memory: 128M + restart: unless-stopped + environment: + - DATABASE_URL=postgres://postgres:changeme@db/windmill?sslmode=disable + - MODE=worker + - WORKER_GROUP=native + depends_on: + db: + condition: service_healthy + x-casaos: + envs: + - container: POSTGRES_PASSWORD + description: + en_us: Password for the Postgres DB + - container: POSTGRES_DB + description: + en_us: Name of the Postgres DB + - container: WORKER_GROUP + description: + en_us: Worker group name for native jobs + + lsp: + image: ghcr.io/windmill-labs/windmill-lsp:1.187 + restart: unless-stopped + expose: + - 3001 + volumes: + - lsp_cache:/root/.cache + x-casaos: + ports: + - container: "3001" + description: + en_us: The port that lsp is used for intellisense + volumes: + - container: lsp_cache + description: + en_us: The cache used for lsp service + +volumes: + db_data: null + worker_dependency_cache: null + lsp_cache: null + +x-casaos: + architectures: + - amd64 + - arm64 + main: windmill + author: Windmill.dev + category: Developer + description: + en_us: Windmill is an open-source, blazing fast and scalable alternative to Retool, Airplane, Superblocks, n8n, Airflow, Temporal to build all your internal tools (endpoints, workflows, UIs) through the combination of code (in Typescript, Python, Go, Bash, SQL or any docker image) and low code builders. + developer: Windmill + icon: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Windmill/icon.png + screenshot_link: + - https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Windmill/screenshot-1.png + - https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Windmill/screenshot-2.png + - https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Windmill/screenshot-3.png + tagline: + en_us: Windmill is a feature-rich platform that allows you to build endpoints, cron jobs, workflows & UIs. Each of these features can be used standalone. + thumbnail: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Windmill/thumbnail.png + tips: {} + title: + en_us: Sonarr + index: / + port_map: "8989" \ No newline at end of file diff --git a/Apps/Windmill/icon.png b/Apps/Windmill/icon.png new file mode 100644 index 000000000..ec488c1ef Binary files /dev/null and b/Apps/Windmill/icon.png differ diff --git a/Apps/Windmill/screenshot-1.png b/Apps/Windmill/screenshot-1.png new file mode 100644 index 000000000..346146b69 Binary files /dev/null and b/Apps/Windmill/screenshot-1.png differ diff --git a/Apps/Windmill/screenshot-2.png b/Apps/Windmill/screenshot-2.png new file mode 100644 index 000000000..5f8079f26 Binary files /dev/null and b/Apps/Windmill/screenshot-2.png differ diff --git a/Apps/Windmill/screenshot-3.png b/Apps/Windmill/screenshot-3.png new file mode 100644 index 000000000..f42887457 Binary files /dev/null and b/Apps/Windmill/screenshot-3.png differ diff --git a/Apps/Windmill/thumbnail.png b/Apps/Windmill/thumbnail.png new file mode 100644 index 000000000..1dc4fbe6f Binary files /dev/null and b/Apps/Windmill/thumbnail.png differ