meta/README.md

2.3 KiB

Recycled Cloud Management Interface

builds.sr.ht status

This repository tracks the initial work for a web interface atop the recycled cloud. It is written in Elixir, making use of the Phoenix Web Framework.

Notes

  • This project is in its early phase: we're first making things correct and simple. We'll worry about efficiency later.
  • The (Phoenix) project has been initialized with the --no-webpack and --no-dashboard flags to avoid unnecessary clutter. We can add them back later if needed!
  • (sourcehut) CI is defined in .build.yml. It currently runs on my sr.ht account since we do not have our own instance (yet).
  • Authentication is based on José Valim and Aaron Renner's Phx.Gen.Auth, adapted for LDAP-backed authentication.
  • You can run the linter with mix credo.

Getting Started

You'll need Erlang/OTP and elixir installed on your system. It usually boils down to installing the elixir package of your distribution. Once done, you can:

  • Install dependencies with mix deps.get
  • Create and migrate your database with mix ecto.setup
    • You'll need PostgreSQL here. I (tfloure) usually run it in an isolated container with something along the lines of podman run --rm -it -e POSTGRES_HOST_AUTH_METHOD=trust --expose 5432 -p 5432:5432 postgres:latest.
  • Start Phoenix endpoint with mix phx.server (or iex -S mix phx.server, if you want a REPL).

Now you can visit localhost:4000 from your browser.

Useful Resources

Elixir Language:

Phoenix Web Framework: