No description
- Shell 63.5%
- Dockerfile 36.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .gitignore | ||
| build-stats.md | ||
| CHANGELOG.md | ||
| CloudronManifest.json | ||
| CloudronVersions.json | ||
| DESCRIPTION.md | ||
| dify-logo.png | ||
| dify-screenshot.png | ||
| Dockerfile | ||
| LICENSE | ||
| logo.png | ||
| nginx-main.conf | ||
| nginx.conf | ||
| POSTINSTALL.md | ||
| README.md | ||
| start.sh | ||
| supervisord.conf | ||
| version.md | ||
Dify for Cloudron
This is a Cloudron package for Dify, an open-source LLM app development platform.
Architecture
This package runs multiple Dify services within a single container using supervisord:
- API Server: Python/Flask (Port 5001, serves REST + collaboration socket.io)
- Web Frontend: Next.js (Port 3000)
- Worker: Celery worker for background tasks
- Beat: Celery scheduler
- Sandbox: Go-based code execution service (Port 8153)
- Plugin Daemon: Go-based plugin manager (Port 5002)
- Agent Backend: Agent V2 run server (Port 5050)
- Agent Local Sandbox:
shellctlsandbox for Agent V2 code execution (Port 5004) - Nginx: Reverse proxy to route traffic to the web frontend and API
Version
- Packaged upstream: Dify 1.18.0
- Sandbox runtime: langgenius/dify-sandbox 0.2.15
- Plugin daemon: 0.6.10
- Agent backend / local sandbox: 1.18.0
- Runtime: Python 3.13 (
cloudron/python-base:3.13) with Node.js 24
Data Persistence
- Application code is read-only in
/app/code. - All persistent data is stored in
/app/data. - Configuration files are generated in
/app/data/configand/app/data/api-env. - Uploaded files are in
/app/data/storage. - Plugin data is in
/app/data/plugin_storage. - Sandbox runtime data is in
/app/data/sandbox.
Development
Installation
This is a Community App which you can install through the Cloudron web interface.
Environment Variables
The start.sh script automatically generates the .env configuration for Dify based on Cloudron's environment variables (PostgreSQL, Redis, etc.).
Features
- Chat apps, workflows, agents, datasets, and knowledge-base features work.
- Plugin marketplace is enabled through the bundled plugin daemon.
- Code nodes work through the packaged sandbox service.
- Playwright support is included for browser automation tasks.
- Agent V2 is enabled with the local
shellctlsandbox backend. - Real-time workflow collaboration (socket.io) is enabled.
Notes
- Dify Code nodes pass inputs to
main()by variable name. If a workflow input is namedtest, the Python function must accepttestas a parameter. - The sandbox process runs as
rootinside the container because upstream Dify sandbox requires privileged setup steps before applying its own isolation model. - Upstream
1.15.0+requires a plugin auto-upgrade backfill after DB migrations; this package runs it automatically during startup. - Upstream
1.18.0requires Python 3.13; the API, Agent Backend and sandbox runtimes all use it. - Agent V2 local sandbox state lives in
/app/data/agent-sandbox(home snapshots and workspace).
Key files:
start.sh: Entrypoint script that sets up environment and permissions.supervisord.conf: Process manager configuration.nginx.conf: Nginx configuration for routing requests.Dockerfile: Multi-stage build definition.
License
This package is licensed under the MIT License. Dify itself is licensed under the modified version of the Apache 2.0 License.