Management interface for the Recycled Cloud.
https://meta.recycled.cloud
|
|
||
|---|---|---|
| config | ||
| lib | ||
| priv | ||
| rel | ||
| test | ||
| .drone.yml | ||
| .formatter.exs | ||
| .gitignore | ||
| CHANGELOG.md | ||
| LICENSE.txt | ||
| mix.exs | ||
| mix.lock | ||
| README.md | ||
Recycled Cloud Management Interface (Meta)
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-webpackand--no-dashboardflags 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.
- You'll need PostgreSQL here. I (tfloure) usually run it in an isolated
container with something along the lines of
- Start Phoenix endpoint with
mix phx.server(oriex -S mix phx.server, if you want a REPL).
Now you can visit localhost:4000 from your browser.
Useful Resources
Elixir Language:
- (Good!) Introduction and various guides: https://elixir-lang.org/getting-started/introduction.html
- Elixir Docs: https://hexdocs.pm/elixir/Kernel.html
- Mix (= build tool) Docs: https://hexdocs.pm/mix/Mix.html
- IEx (= REPL) Docs: https://hexdocs.pm/iex/IEx.html
Phoenix Web Framework:
- Official website: https://www.phoenixframework.org/
- Guides: https://hexdocs.pm/phoenix/overview.html
- Docs: https://hexdocs.pm/phoenix
- Forum: https://elixirforum.com/c/phoenix-forum
- Source: https://github.com/phoenixframework/phoenix