Management interface for the Recycled Cloud.
https://meta.recycled.cloud
config | ||
lib | ||
priv | ||
rel | ||
test | ||
.build.yml | ||
.formatter.exs | ||
.gitignore | ||
CHANGELOG.md | ||
LICENSE.txt | ||
mix.exs | ||
mix.lock | ||
README.md | ||
run-ci.sh |
Recycled Cloud Management Interface
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
.
- 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