Skip to content
Lyn: The Elixir CMS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib feat(engine): docmodule++ Mar 5, 2016
priv feat(features): initial Mar 5, 2016
test Cleanup tests a little Mar 5, 2016
web feat(admin): fix crud for resources other than objects Mar 5, 2016
.eslintignore Migrated to webpack Feb 26, 2016
.gitignore Unignore mix.lock Mar 5, 2016
.travis.yml docs(code_of_conduct): add Feb 28, 2016 docs(contributing): added Feb 26, 2016
Procfile docs(readme): removed screenshots Mar 5, 2016
elixir_buildpack.config Update elixir to 1.2.3 herokuapp Feb 27, 2016
mix.exs Add mix.lock to package Mar 6, 2016
mix.lock Add mix.lock to git, thanks @ericmj Mar 5, 2016


Build Status Dependency Status devDependency Status Hex Version Hex docs PayPal donate button

DEVELOPMENT IS IN PROGRESS. If you have ideas, suggestions, questions, please join #lyn slack channel in Elixir's slack (read about chat below)

This is an Elixir CMS. Aims to be the great open-source ecommerce and/or startup solution for those who are searching for a performance and stability on top of modern technologies like React and Elixir.

In order to run, Lyn requires Elixir 1.2 or higher, PostgreSQL 9.4 or higher and NodeJS 4 or higher.

Please check ROADMAP on progress.


Lyn is a CMS written in Elixir. It combines CRUD and Object Tree models, which means that all of the site structure in kept in single tree of objects and provides Flux-like API backend, while you still can use CRUD for building REST-API for admin panels or providing ability of editing stuff easily in the front-end.

Elixir is chosen as the back-end language because of speed and hot-load. I strongly believe Elixir is the future of CMS building.


  • React Server-Side render using heavily modified Reaxt source-code under the hood

Before You Begin

Before you begin we recommend you read about the basic building blocks that assemble a Lyn application:

Quick Install

  • Install dependencies with mix deps.get
  • Create and migrate your database with mix ecto.create && mix ecto.migrate
  • Install Node.js dependencies with npm install

The last step might take a very long time since we are using some dependencies from github (like Bootstrap 4).


You can create #{ENV}.config.exs files in config/ directories, they will be included after running initial config files: config.exs and #{ENV}.config.exs.


Start Phoenix endpoint with mix phoenix.server

Now you can visit localhost:4000 from your browser.

Notice currently I didn't include scripts to install starter database, but make sure you at least created some languages in admin panel (/admin/languages) before working with objects tree. Installation scripts coming soon once object tree will be ready.


Ready to run in production? Please check Phoenix Framework deployment guides.


Use scripts/ to generate self-signed certificate if you need to.

In config/prod.exs you will find an example with :https directive, uncomment it and put there paths to your certificates as well as intermediate certificate if you have one.

FAQ & Chat

This project moves fast and has an active community, so if you have a question that is not answered below please visit #lyn channel on Elixir-lang Slack or file an issue.


I am more than happy to accept external contributions to the project in the form of feedback, bug reports and even better - pull requests.

If you would like to submit a pull request, please make an effort to follow the guide in


Main author and active maintainer is Valerii Iatsko, feel free to follow:

Based on some code from these projects:



You can’t perform that action at this time.