3 ms·
An example to create an app is clace app create --approve --spec image --param image=ghcr.io/gchq/cyberchef:latest --param port=80 - cyberchef.localhost:/ T
by ajayvk 2y ago
An example to create an app is
clace app create --approve --spec image --param image=ghcr.io/gchq/cyberchef:latest --param port=80 - cyberchef.localhost:/
This creates a Cyberchef app from its image at https://cyberchef.localhost:25223/ https://cyberchef.localhost:25223/, which can be bookmarked. Opening that link will create the container (first access can be slow since the image is downloaded). The Cyberchef container is shut down when not in use. Subsequent access to the url will instantly create the container.
Using --spec container allows you to deploy code from any github repo which has a Containerfile. There are also language specific specs (mainly python currently). For example
clace app create --approve --spec python-fasthtml --param APP_MODULE=basic_ws:app https://github.com/AnswerDotAI/fasthtml/examples fasthtmlapp.localhost:/
creates a FastHTML based app, building the image and starting the container. Checking out the source code and using local path allows you to setup a dev environment by adding the --dev option. No dependencies have to installed on the dev machine for this. Docker/Podman is the only dependency. For example
clace app create --dev --approve --spec python-fasthtml --param APP_MODULE=basic_ws:app ~/mycode/fasthtml/examples fasthtmlapp.localhost:/
The goal with Clace is to build an application server for easily and securely managing internal tools.
- pkphilip 2y agoPretty cool!
- ajayvk 2y agoClace is built in go as a reverse proxy. Clace uses https://github.com/google/starlark-go https://github.com/google/starlark-go as its configuration language. This allows full Hypermedia driven apps to be built in Clace, running within the main Clace process. For example: clace app create --approve github.com/claceio/apps/system/disk_usage /disk_usage clace app create --approve github.com/claceio/apps/utils/bookmarks /book installs a du like tool and a bookmark manager. These are Hypermedia based apps using HTMX which run in Starlark. Works across Linux/OSX/Windows, with no dependencies to install. Not even containers are required for these apps.
- mdaniel 2y agoI hadn't heard about Containerfile but it seems to be the Podman ecosystem's version of Dockerfile (e.g. https://github.com/containers/common/blob/v0.60.2/docs/Containerfile.5.md https://github.com/containers/common/blob/v0.60.2/docs/Conta... )
- ajayvk 2y agoYes, I used the Containerfile name since is more neutral. The file format is same across Containerfile and Dockerfile. Clace works with either file name.