2019-03-14 15:00:34 +01:00
# Development
2019-11-06 23:42:06 +01:00
Clone the repository:
2019-03-14 15:00:34 +01:00
```bash
2019-11-06 23:42:06 +01:00
# With HTTPS
2019-03-14 15:00:34 +01:00
git clone https://framagit.org/framasoft/mobilizon & & cd mobilizon
2019-11-06 23:42:06 +01:00
# With SSH
git clone git@framagit.org:framasoft/mobilizon.git & & cd mobilizon
2019-03-14 15:00:34 +01:00
```
2019-11-06 23:42:06 +01:00
Run Mobilizon:
2019-11-17 18:11:33 +01:00
2019-11-06 23:42:06 +01:00
* with Docker and Docker-Compose (**Recommended**)
* without Docker and Docker-Compose (This involves more work on your part, use Docker and Docker-Compose if you can)
## With Docker and Docker-Compose
* Install [Docker ](https://docs.docker.com/install/#supported-platforms ) and [Docker-Compose ](https://docs.docker.com/compose/install/ ) for your system.
* Run `make start` to build, then launch a database container and an API container.
* Follow the progress of the build with `docker-compose logs -f` .
* Access `localhost:4000` in your browser once the containers are fully built and launched.
## Without Docker and Docker-Compose
2019-03-14 15:00:34 +01:00
* Install dependencies:
* Elixir (and Erlang) by following the instructions at [https://elixir-lang.github.io/install.html ](https://elixir-lang.github.io/install.html )
* [PostgreSQL]() with PostGIS
2019-11-17 18:11:33 +01:00
* Install NodeJS (we guarantee support for the latest LTS and later) ![](https://img.shields.io/badge/node-%3E%3D%2012.0+-brightgreen.svg)
2019-03-14 15:00:34 +01:00
* 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 set `mobilizon` as the password.
2019-10-11 17:03:18 +02:00
* Install packages
* Fetch backend Elixir dependencies with `mix deps.get` .
* Go into the `cd js` directory, `yarn install` and then back `cd ../`
* Setup
2019-03-14 15:00:34 +01:00
* 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` .
2019-10-11 17:03:18 +02:00
* Start Phoenix endpoint with `mix phx.server` . The client development server will also automatically be launched and will reload on file change.
2019-03-14 15:00:34 +01:00
2019-05-19 11:38:09 +02:00
Now you can visit [`localhost:4000` ](http://localhost:4000 ) in your browser
2019-11-17 18:11:33 +01:00
and see the website (server *and* client) in action.