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
draw.io (diagrams.net) is a client-side diagramming app. It has no user
model and no server-side state (diagrams live in the browser or cloud
storage), so this is the first package to use the Cloudron
authentication-proxy pattern: httpAuth.type=proxy gates access at the
platform edge — the admin restricts who can reach it and the browser
challenges for Cloudron credentials.
- Wraps the official jgraph/drawio:24.7.17 Tomcat image (pinned, verified)
- No database / no persistent storage; installs curl for the health check
- HTTP port 8080, health check on /
- Validated: docker build + run return HTTP 200, container healthy
Gardening: STATUS/README/JOURNAL updated (8/~57 packaged); new
"official-image wrapper + auth proxy" pattern documented in JOURNAL.
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
Establishes a hard auth gate before any app is packaged: OIDC is
preferred, LDAP is acceptable (flagged risk), auth-proxy for user-less
utility apps, and local-only-auth apps are blocked from packaging
until they gain SSO.
- AGENTS.md: new "Authentication Policy" section with the verdict table
and Cloudron OIDC/LDAP/proxy-auth wiring notes.
- STATUS.md: new "Auth Status" matrix assessing all 7 completed
packages + the next candidates (draw.io proxy-eligible, Windmill
OIDC, NetBox OIDC but Redis-blocked, Gophish blocked-on-auth).
Flags tech debt: Webhook/WireViz need httpAuth proxy added; Puter
auth needs revisit.
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
The docs had drifted to 5/58 packaged while Corteza (and Puter) were
already committed. Reconcile the headline count to 7/~57 everywhere
per the new gardening protocol (GitUrlList.txt is the source of truth
at 57 upstream apps).
- README.md: 5/58 -> 7, add Corteza to completed table, remove false
"Warp packaged" marker (duplicate, no package), Low-Code 0/3 -> 1/3,
link STATUS/AGENTS.
- JOURNAL.md: header + repository stats 5/58 -> 7/~57.
- RESUME.md: mark superseded by STATUS.md (was 2025-01-24, referenced
dead /home/tsys paths) to avoid two competing status docs.
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
Mirror the agent workflow used across sibling TSYS/KNEL repos
(PFVCluster, KNEL-AIMiddleware): a living agent-maintained STATUS.md
plus a concise AGENTS.md carrying Git Policy and an Automatic Gardening
Protocol that keeps all docs in sync.
- Add STATUS.md: completed packages table (7), per-category progress,
known issues, next priorities, repo summary. Human read-only; agents
own it.
- Rewrite AGENTS.md (384 -> 140 lines): repo layout, git policy
(atomic, conventional, commit+push without prompting), gardening
protocol, packaging quick-reference. Fixes active model (GLM-4.7 ->
GLM-5.2), stale counts, and dead /home/tsys paths.
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
- Create Dockerfile downloading pre-compiled binaries
- Add CloudronManifest.json with PostgreSQL and localstorage addons
- Create README.md with comprehensive low-code platform documentation
- Add .env.example for environment configuration
- Add CHANGELOG.md for version tracking
- Add logo.png (Corteza branding)
Corteza is an open-source low-code platform for building
database-driven applications without coding.
Package includes:
- Ubuntu 22.04 base with pre-compiled Corteza binaries (436MB)
- PostgreSQL addon for database storage
- Localstorage addon for application data
- Multi-stage download (simpler than building)
- Comprehensive documentation with visual builder examples
- Form builder, report builder, page builder examples
- User management and permissions documentation
Features supported:
- Visual app builder with drag-and-drop
- Form builder for data entry
- Report builder for custom reports
- Page builder for application pages
- API builder for REST APIs
- Workflow automation with triggers
- Database-driven applications
- Multi-tenancy support
- User management with role-based permissions
- Record management with import/export
- Theme customization
- Mobile-responsive design
- Audit trail
- Security features (row-level permissions)
Environment variables:
- CORTEZA_VERSION: Corteza version (default: 2022.9.0)
- STORAGE_PATH: Data storage path (default: /app/data)
- HTTP_ADDR: HTTP address (default: 0.0.0.0:80)
- HTTP_WEBAPP_ENABLED: Enable web app (default: true)
Ports:
- 80: Main HTTP port (web interface)
Addons:
- PostgreSQL: Database storage
- Localstorage: Application data
💘 Generated with Crush
Assisted-by: GLM-4.7 via Crush <crush@charm.land>
- Create comprehensive JOURNAL.md documenting all completed packages
- Document packaging patterns, challenges, and solutions
- Update AGENTS.md to reference JOURNAL.md
- Add knowledge base for Cloudron packaging
- Include Docker best practices and optimization techniques
- Capture lessons learned for future reference
JOURNAL.md contains:
- Detailed analysis of 5 completed packages
- 7 established packaging patterns
- 5 common challenges with solutions
- Cloudron-specific considerations
- Productivity insights and metrics
- Best practices and optimization guidelines
AGENTS.md now includes:
- Reference to JOURNAL.md for detailed insights
- Packaging patterns and templates
- Common challenges and solutions
- Cloudron best practices reference
- Expertise developed through project
- Future recommendations
💘 Generated with Crush
Assisted-by: GLM-4.7 via Crush <crush@charm.land>
- Create multi-stage Dockerfile with Node.js 23.9-alpine
- Add CloudronManifest.json with PostgreSQL and localstorage addons
- Create .dockerignore to exclude Cloudron package files
- Include README.md with comprehensive Internet OS documentation
- Add .env.example for environment configuration
- Add CHANGELOG.md for version tracking
- Add logo.png (Puter branding)
Puter is "The Internet OS" - an advanced, open-source
internet operating system designed to be feature-rich, exceptionally
fast, and highly extensible.
Package includes:
- Node.js 23.9-alpine based multi-stage build (361MB)
- PostgreSQL addon for database storage
- Localstorage addon for file storage
- Multi-stage Dockerfile (build + production)
- Comprehensive documentation with usage examples
- File management, app installation, and code editing examples
Features supported:
- Internet OS in browser (full desktop experience)
- Personal cloud storage (privacy-first, self-hosted)
- Web app builder and publisher
- App Store with growing ecosystem
- Built-in file manager with drag-and-drop
- Code editor with syntax highlighting
- Terminal with bash shell
- Multi-user support with permissions
- Games platform
- Remote desktop environment
- Alternative to Dropbox, Google Drive, OneDrive
- Window management, taskbar, start menu
- Keyboard shortcuts and efficiency features
- Themes and customizable interface
Environment variables:
- NO_VAR_RUNCUME: Assume no variable issues (default: 1)
Ports:
- 4100: Main HTTP port (web interface and API)
Addons:
- PostgreSQL: Database storage
- Localstorage: File storage and user data
💘 Generated with Crush
Assisted-by: GLM-4.7 via Crush <crush@charm.land>
- Create Dockerfile with Python 3 and Graphviz
- Add CloudronManifest.json with localstorage addon
- Create requirements.txt with WireViz and Flask dependencies
- Include README.md with comprehensive diagram tool documentation
- Add .env.example for environment configuration
- Add CHANGELOG.md for version tracking
- Add logo.png (WireViz branding placeholder)
WireViz Web is a Flask-based wrapper around WireViz tool
for documenting cables, wiring harnesses, and connector pinouts.
Takes YAML files as input and produces graphical output.
Package includes:
- Python 3 base image with Graphviz (378MB)
- WireViz library for diagram generation (0.4.1)
- Flask REST API for web access
- Localstorage addon for diagram storage
- Comprehensive documentation with YAML examples
- Color coding examples (IEC, DIN, custom)
- Connector and cable examples
- Complex harness example
Features supported:
- Cable and wiring diagram generation
- YAML-based input format (human-readable, version control friendly)
- Multiple output formats (SVG, PNG, etc.)
- Automatic BOM (Bill of Materials) generation
- IEC 60757, DIN 47100, and 25-pair color codes
- Wire gauge handling (mm² and AWG)
- Extensive connector type library
- REST API for programmatic access
- PlantUML Text Encoding compatibility
Environment variables:
- FLASK_APP: Flask application (default: wireviz_web)
- PYTHONUNBUFFERED: Disable Python output buffering (default: 1)
Ports:
- 3005: Main HTTP port (web interface and API)
API endpoints:
- POST /render: Generate diagram from YAML
- Accept headers: application/yaml, image/svg+xml, image/png, text/tab-separated-values
- Outputs: SVG, PNG, BOM (TSV)
💘 Generated with Crush
Assisted-by: GLM-4.7 via Crush <crush@charm.land>
- Create Dockerfile wrapping official Healthchecks image
- Add CloudronManifest.json with PostgreSQL addon
- Create start.sh script with PostgreSQL wait and Django migrations
- Include README.md with comprehensive monitoring documentation
- Add .env.example for environment configuration
- Add CHANGELOG.md for version tracking
- Add logo.png (Healthchecks branding)
Healthchecks is a cron job monitoring service that listens
for HTTP requests and email messages (pings) from your cron
jobs and sends alerts when pings are late.
Package includes:
- Official Healthchecks Docker image wrapper (105MB)
- Cloudron PostgreSQL addon for Django database
- Automatic database migrations on startup
- Superuser creation via environment variables
- Email configuration support for alerts
- Comprehensive documentation with monitoring examples
- Examples for cron, systemd, scripts, and webhook monitoring
Features supported:
- Cron job monitoring via HTTP pings
- 25+ notification integrations (Email, SMS, Slack, Telegram, Matrix, etc.)
- Live-updating web dashboard
- Status badges for public monitoring
- Team management (projects, team members, read-only access)
- Monthly email reports
- WebAuthn 2FA support
- Tag-based organization
- Project grouping
- Detailed event logs
- Grace time configuration
- Cron expression support
Environment variables:
- SECRET_KEY: Django secret key
- ALLOWED_HOSTS: Allowed hosts (default: *)
- SITE_ROOT: Site root URL
- EMAIL_HOST/PORT/USER/PASSWORD: SMTP configuration
- SUPERUSER_EMAIL/PASSWORD: Admin account creation
Ports:
- 8000: Main HTTP port (web interface and API)
💘 Generated with Crush
Assisted-by: GLM-4.7 via Crush <crush@charm.land>
- Create Dockerfile for webhook (Go application)
- Add CloudronManifest.json with basic configuration
- Include README.md with usage documentation
- Add hooks.json.example configuration template
- Add logo.png (256x256)
- Add CHANGELOG.md for version tracking
Webhook is a lightweight configurable tool written in Go
that allows creating HTTP endpoints (hooks) on your server
for executing configured commands.
Package includes:
- Multi-stage Dockerfile using golang:1.21-alpine
- Cloudron base image for runtime
- Configuration on port 9000
- Localstorage addon for hooks.json
- 256MB memory limit
💘 Generated with Crush
Assisted-by: GLM-4.7 via Crush <crush@charm.land>
- Add GitUrlList.txt with all 62 upstream repository URLs
- Include GitHub repositories for 58+ applications
- Add GitLab repository (satnogs) for IoT/LoRaWAN
- Organize URLs in sequential order matching categories
- Note: Contains duplicate entries (warp x2, windmill x2) to be cleaned
💘 Generated with Crush
Assisted-by: GLM-4.7 via Crush <crush@charm.land>
- Create RESUME.md for seamless session continuity
- Document current project state and completed work
- List uncommitted changes and suggested commit messages
- Add repository status (56/59 successfully cloned)
- Identify failed clones and special cases (docassemble structure)
- Provide immediate next steps with commands
- Add project statistics and functional category summary
- Include recommended starting points for different scenarios
- Document known issues and duplicate entries
💘 Generated with Crush
Assisted-by: GLM-4.7 via Crush <crush@charm.land>
- Create comprehensive AGENTS.md for AI agent orientation
- Document project overview, stakeholders, and timeline
- Add key decisions and rationale (organization, repo management)
- Document working patterns and communication style
- Include application categories and programming languages
- Add session resume guide and project status tracking
- Document known issues and recovery steps
💘 Generated with Crush
Assisted-by: GLM-4.7 via Crush <crush@charm.land>