Files
TSYSDevStack-SupportStack-C…/Package-Workspace/Automation/windmill/Dockerfile
T
mrcharles 10e558500f feat: add Windmill Cloudron package (Automation)
Windmill is an open-source workflow-automation / internal-apps platform
that turns scripts (Python, JS/TS, Go, Bash, SQL, Rust, ...) into HTTP
endpoints, scheduled jobs, and visual flows. It is PostgreSQL-only —
it uses Postgres LISTEN/NOTIFY for job queuing, so no Redis is required,
making it a clean Cloudron fit.

- Wraps the official ghcr.io/windmill-labs/windmill:1.514.1 image in
  single-container server mode (embedded default worker)
- start.sh composes DATABASE_URL from the Cloudron postgresql addon and
  waits for the DB (bash /dev/tcp, no pg_isready dependency)
- HTTP port 8000, health check on /api/version, 2GB memory limit
- OIDC/SAML supported via the in-app Admin Settings UI (post-install)
- Validated end-to-end: throwaway postgres + windmill ran migrations and
  returned /api/version => "CE v1.514.1", HTTP 200

Gardening: STATUS/README/JOURNAL updated (9/~57 packaged; Automation
1/4). Windmill logged as a new OIDC-preferred completed package.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-07-30 16:15:23 -05:00

26 lines
1004 B
Docker

# Windmill Cloudron Package
#
# Windmill is an open-source workflow automation platform (scripts, flows,
# apps, schedules) that turns scripts into sharable HTTP endpoints and
# background jobs. The server embeds a default worker for single-container use.
#
# Upstream image: ghcr.io/windmill-labs/windmill:1.514.1
# - WorkingDir /usr/src/app, binary `windmill` on PATH, listens on 8000
# - Requires PostgreSQL (job queue uses Postgres LISTEN/NOTIFY; NO Redis)
# - Auto-runs SQL migrations on startup
#
# Authentication: Windmill supports OIDC and SAML natively. OIDC is configured
# in the Admin Settings UI (persisted in the database), not via env vars. See
# README.md for the post-install OIDC setup steps.
FROM ghcr.io/windmill-labs/windmill:1.514.1
ENV MODE=server
# start.sh builds DATABASE_URL from the Cloudron PostgreSQL addon, waits for
# the DB, then execs the windmill server. Made executable on the host.
COPY start.sh /app/start.sh
EXPOSE 8000
CMD ["/bin/bash", "/app/start.sh"]