Pine is a free, open-source, cross-platform Elm runtime environment that lets developers create servers, web apps, and command line tools.
- Pine supports building and running Elm programs natively on .NET without JavaScript.
- The Elm compilation interfaces support the customization of code generation at build time.
- Pine comes bundled with an integrated web server and database management system, simplifying the development and operation of web services.
- Pine integrates web server and database management system, automating the persistence and maintenance of application state and database migrations.
- Run reports or custom updates as Elm functions on your database via the admin interface.
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
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
A selection of guides on popular topics:
-
Building full-stack web apps: ./guide/how-to-build-a-full-stack-web-app-in-elm.md
-
Building a backend or web service: ./guide/how-to-build-a-backend-app-in-elm.md
-
Using Elm compilation interfaces: ./guide/how-to-use-elm-compilation-interfaces.md
For an overview of all guides and documentation, see the guide
directory.
- Manually Applying Elm Functions On An Online Database Using Pine: https://youtu.be/9mFjdf_ABNM
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 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.
![](/pine-vm/pine/raw/main/guide/image/2021-03-17-elm-editor-user-interface.png)
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
For more example apps, see the example-apps
directory