BeaconCMS / beacon_live_admin

Admin UI to manage content for sites built by Beacon
https://beaconcms.org
MIT License
47 stars 19 forks source link
cms elixir elixir-lang phoenix phoenix-framework phoenix-liveview

Beacon LiveAdmin

Admin UI to manage content for sites built by Beacon.

Status

Pre-release version. You can expect incomplete features and breaking changes before a stable v0.1.0 is released.

Minimum Requirements

Local Development

LiveAdmin requires at least one site running to manage, so let's start LiveAdmin first and then start a sample site.

  1. Setup your local env
mix setup
  1. Run LiveAdmin
iex --sname admin@localhost -S mix dev

Keep this instance running.

  1. Run a Beacon site

Open another terminal or tab, clone Beacon into another directory and follow the Local Development instructions to get a site up and running.

  1. Open http://localhost:4002/admin

You'll notice that no site is displayed, that's because Beacon LiveAdmin looks for sites running in the cluster and the two nodes aren't connected yet.

  1. Connect the nodes

In the beacon iex terminal (the last one you started) execute the following:

Node.connect(:admin@localhost)

Now you should see a site listed in the admin home page.

  1. (Optional) Automatically connect the nodes

Create a .iex.exs file in the root of each repository:

In the beacon repo:

Node.connect(:admin@localhost)

In the beacon_live_admin repo:

Node.connect(:core@localhost)

Next time you can skip step 5.

Troubleshooting

Running tests requires booting a VM to run Beacon sites, which may be blocked by the firewall in your environment.

Make sure both epmd and beam.smp processes are allowed and try running the application before running tests:

iex --sname admin@localhost -S mix dev

Looking for help with your Elixir project?

DockYard logo

At DockYard we are ready to help you build your next Elixir project. We have a unique expertise in Elixir and Phoenix development that is unmatched and we love to write about Elixir.

Have a project in mind? Get in touch!