pine-vm / pine

Cross-platform runtime environment for the Elm programming language.
https://pine-vm.org
MIT License
219 stars 18 forks source link
backend database dbms declarative-programming elm event-sourcing full-stack functional-programming runtime virtual-machine

Pine

Pine is a free, open-source, cross-platform Elm runtime environment that lets developers create servers, web apps, and command line tools.

Web Services

Getting Started

Download the pre-built Pine binary for your platform at https://pine-vm.org/download, or on the releases page on GitHub.

The pine executable file integrates all functionality to build apps and operate web services.

The command below runs a server and deploys a full-stack web app:

pine  run-server  --public-urls="http://*:5000"  --deploy=https://github.com/pine-vm/pine/tree/8dbd5c91853fbcef3b645d95bccc01a886ccd7e2/implement/example-apps/docker-image-default-app

Docker Image

To deploy in a docker container, use the pine-vm/pine image from the GitHub Container registry (ghcr.io/pine-vm/pine). The tags are aligned with the version IDs in the CLI executable file.

docker  run  -p 5000:80  -p 4000:4000  --env "APPSETTING_adminPassword=test"  ghcr.io/pine-vm/pine

📚 Guides

A selection of guides on popular topics:

For an overview of all guides and documentation, see the guide directory.

🎥 Videos

Example Apps

Rich Chat Room

The rich chat room example app demonstrates features typically found in a chat app, such as user names, message rate-limiting, sound effects, etc. For a detailed description of this app, see the readme file at https://github.com/pine-vm/pine/blob/main/implement/example-apps/rich-chat-room/README.md

Elm Editor

Elm Editor is a web app for developing Elm programs.

As an integrated development environment, it assists us in reading, writing, and testing Elm programs and in collaborating with other developers.

To see Elm Editor in action, check out the public instance at https://elm-editor.com

To learn more about Elm Editor, see https://github.com/pine-vm/pine/tree/main/implement/example-apps/elm-editor/README.md

More Examples

For more example apps, see the example-apps directory