Signed-off-by: Thomas Citharel <tcit@tcit.fr> Nicer docs No 3rd stage Add mix.deps get before docs Add :ex_doc on test env so that it runs into CI
2.1 KiB
Development
Clone the repo, and start the project trough Docker. You'll need both Docker and Docker-Compose.
git clone https://framagit.org/framasoft/mobilizon && cd mobilizon
make
Manual
Server
-
Install dependencies:
- Elixir (and Erlang) by following the instructions at https://elixir-lang.github.io/install.html
- Fetch backend Elixir dependencies with
mix deps.get
. - PostgreSQL with PostGIS
-
Start services:
- Start postgres
-
Setup services:
-
Make sure the postgis extension is installed on your system.
-
Create a postgres user with database creation capabilities, using the following:
createuser -d -P mobilizon
and setmobilizon
as the password. -
Create your database with
mix ecto.create
. -
Create the postgis extension on the database with a postgres user that has superuser capabilities:
psql mobilizon_dev
create extension if not exists postgis;
-
Run migrations:
mix ecto.migrate
.
-
-
Start Phoenix endpoint with
mix phx.server
.
Now you can visit localhost:4000
from your browser
and see the website (server and client) in action.
Client
If you plan to specifically change the client side (frontend), do the following once the server is running:
- Install the NodeJS (we guarantee support for the latest LTS and later)
- Change directory to
js/
and do:- Install JavaScript package dependencies:
npm install
. - Run the developement server in watch mode:
npm run dev
. This will open a browser onlocalhost:8080
that gets automatically reloaded on change.
- Install JavaScript package dependencies:
Docker
You need to install the latest supported Docker and Docker-Compose before using the Docker way of installing Mobilizon.
Just run :
make start
to start a database container, an API container and the front-end dev container running on localhost.