Skip to content
Switch branches/tags

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time

Elm Full-Stack

Full-stack web apps made simple - using the Elm programming language.

Elm Fullstack supports:

  • Programming web servers using the Elm programming language.
  • Using the Elm Architecture on the backend by providing automatic persistence, replication, and migrations.
  • Sharing Elm modules with common functions and types between frontend and backend implementations.
  • Automating the generation of functions to serialize and deserialize Elm values.

Getting Started

Use this command to run a server and deploy an example app:

elm-fs  run-server  --public-urls="http://*:5000"  --deploy-app=

For a guide on installation and configuration options, see How to Configure and Deploy an Elm Fullstack App.

Releases / Artifacts

elm-fs Executable File

The elm-fs executable file contains all the functionality to build apps and operate backend processes. You can download the files from the releases section on Github.

Docker Image

If you prefer deploying using docker, use the elmfullstack/elm-fullstack image from docker hub. 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" elmfullstack/elm-fullstack

To learn more about these artifacts' interfaces, see How to Configure and Deploy an Elm Fullstack App.

Building from Source

The easiest way to test a change in the source code is to trigger the Github action workflow in .github/workflows/test-and-publish.yml. This workflow gets you the results of automated tests and your version of the executable files. Push to your fork on Github to trigger this action.

As we can see in the workflow file, the project uses .NET core 3.1 to run tests and build the executable file. You can download the dotnet tool from to build and test locally.

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

Elm Editor

Elm Editor is an editor for developing Elm programs. It also provides tooling specifically for web frontend-apps to compile and view an app inline.

To see Elm Editor in action, check out the public instance at

To learn more about how it works, see