{ "manifestVersion": 2, "type": "app", "id": "io.cloudron.fx", "title": "FX", "description": "fx is 'poor man's function as a service': a CLI that turns a stateless function file (JavaScript, Python, Go, Ruby, Java, PHP, Perl, Crystal, Rust, Julia, D) into a running HTTP service on your own Docker host or Kubernetes cluster in seconds. This package is an fx workstation: the pinned fx binary plus a persistent workspace, driven from the Cloudron web terminal. Deploy targets are remote Docker hosts (SSH key auth) or a Kubernetes cluster (kubeconfig); the app container itself has no Docker daemon, so functions always run on their target, not inside this app.", "author": "metrue", "website": "https://github.com/metrue/fx", "documentationUrl": "https://github.com/metrue/fx/blob/master/README.md", "contactEmail": "cloudron@tsys.dev", "tagline": "Poor man's Function as a Service — deploy function files from the terminal", "version": "0.9.48", "upstreamVersion": "0.9.48", "healthCheckPath": "/", "httpPort": 8000, "httpAuth": { "type": "proxy" }, "memoryLimit": 268435456, "addons": { "localstorage": {} }, "postInstallMessage": "FX is a CLI, not a web app: there is nothing to click through. Open the app's **web terminal** and run `fx -v`. Drop an SSH key into **/app/data/ssh/** (or a kubeconfig into **/app/data/kube/**), put function sources in **/app/data/functions/** (two starters are already there), then `fx up --host @ --ssh_key /app/data/ssh/id_rsa --name hello /app/data/functions/hello.js`. The landing page on the app URL is an auth-proxied usage guide.", "mediaLinks": [], "changelog": "Initial Cloudron package for fx 0.9.48 ('poor man's function as a service'). Pre-compiled upstream release binary with sha256 pin, persistent workspace at /app/data (functions/, ssh/, kube/) with two starter functions, and an auth-proxied landing page on the HTTP port (fx has no daemon or UI of its own). Driven from the Cloudron web terminal; deploys go to remote Docker hosts over SSH or to Kubernetes via kubeconfig.", "icon": "file://logo.png" }