Skip to content
Projets

mishka-group/mishka_cms has 28 GitHub stars and 3 forks. Star changes are not measured yet. Last checked 2026-11-11 21:09 UTC. Last push 2026-11-11.

Comment ces chiffres sont mesurés

Open source real-time, multi-tenant CMS for Elixir and Phoenix LiveView. One install runs many websites, with a visual page builder and an AI assistant you connect to your own model.

Progression mesurée des étoiles

in 24h
Mise à jour retardée
in 7 days
Mise à jour retardée
in 15 days
Mise à jour retardée
in 1 month
Mise à jour retardée

Variations nettes sur des périodes qui se chevauchent, pas des totaux quotidiens. Les mesures absentes restent vides. Les étoiles indiquent l’intérêt, pas la qualité.

README.md

Original

Buy Me a Coffee GitHub Sponsors Discord

Mishka CMS

An open source real-time CMS for Elixir and Phoenix LiveView. One install runs many websites.

Website · Documentation · Admin preview · Discord · Hire us

📖 What is Mishka CMS?

Mishka CMS is an open source real-time CMS built on Elixir, Phoenix LiveView and the Ash framework. You build pages in the browser, publish them without a redeploy, and run many websites from one install.

This repository is the application that runs it: the Phoenix endpoint, the router, the release scripts and the Dockerfile. The engine and the extensions are packages it loads from Hex.

✨ Why Mishka CMS

🚀 Get started

Follow Install Mishka CMS and sign in, then build your first site and start a blog. In short, with Elixir 1.20 or newer, PostgreSQL and bun:

git clone https://github.com/mishka-group/mishka_cms.git && cd mishka_cms
mix deps.get && mix assets.setup
mix ecto.create && mix oban.install --yes
mix ash.codegen cms_with_extensions && mix ash.migrate
mix assets.build && mix phx.server

Open http://localhost:4000, and the install wizard creates the master admin and the first site. mix run priv/repo/dev_seeds.exs fills a development database with sample sites and content. Without a local Elixir or PostgreSQL, use the development container in examples/docker.

🧪 Try the demo image

docker pull ghcr.io/mishka-group/mishka_cms-demo:0.0.2

demo-docker-compose.yml starts it with PostgreSQL 18 and explains the secrets. Open /install?token=... with your MISHKA_SETUP_TOKEN. The demo is for trying only: its migrations belong to one release, so a newer demo needs a fresh database.

🚢 Deploy

A real install is your own copy of this repository, built with its Dockerfile.

  1. Generate the migrations for the extensions you load and commit them: run mix oban.install --yes and mix ash.codegen first_install, then commit priv/repo/migrations and priv/resource_snapshots. The build fails without them.
  2. Run the image with DATABASE_URL, SECRET_KEY_BASE, TOKEN_SIGNING_SECRET and SESSION_SIGNING_SALT, and with MISHKA_SETUP_TOKEN for the first run.
  3. Mount a volume at MISHKA_DATA_DIR (/app/mishka_data), and run /app/bin/migrate before /app/bin/server.

To upgrade, bump the Mishka packages in mix.exs, run mix deps.update for them and mix ash.codegen upgrade_<version>, commit what it wrote and deploy. mix dev_reset regenerates every migration, so keep it to throwaway development databases.

🧩 The Mishka CMS family

📚 Documentation

💬 Community and support

💖 Support the project

Mishka CMS is free and open source. You can support its development through GitHub Sponsors or Buy Me a Coffee.

📜 License

Apache License 2.0. See LICENSE.

Explorer des projets similaires