- 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>
10 lines
299 B
Plaintext
10 lines
299 B
Plaintext
# WireViz Web Cloudron Environment Configuration Example
|
|
# Copy this to .env and configure as needed
|
|
|
|
# Flask Configuration
|
|
FLASK_APP=wireviz_web
|
|
PYTHONUNBUFFERED=1
|
|
|
|
# WireViz Web will listen on this port (default: 3005)
|
|
# Port is exposed via Cloudron and can be configured in CloudronManifest.json
|