2018-10-11 17:37:39 +02:00
# Mobilizon
2017-12-08 09:58:14 +01:00
2018-12-11 18:39:23 +01:00
Your federated organization and mobilization platform. Gather people with a convivial, ethical, and emancipating tool.
2018-07-25 16:48:18 +02:00
2018-12-11 18:39:23 +01:00
## Development
2018-12-27 11:31:16 +01:00
Clone the repo, and start the project trough Docker. You'll need both Docker and Docker-Compose.
2018-12-17 11:24:26 +01:00
```bash
2018-12-19 14:39:50 +01:00
git clone https://framagit.org/framasoft/mobilizon & & cd mobilizon
2018-12-17 11:24:26 +01:00
make
```
2018-07-25 16:48:18 +02:00
### Manual
#### Server
2017-12-08 09:58:14 +01:00
2018-12-11 18:39:23 +01:00
* Install dependencies:
2018-12-17 11:24:26 +01:00
2018-12-11 18:39:23 +01:00
* Elixir (and Erlang) by following the instructions at [https://elixir-lang.github.io/install.html ](https://elixir-lang.github.io/install.html )
* Fetch backend Elixir dependencies with `mix deps.get` .
* PostgreSQL
* 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 elixir` and set `elixir` 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` .
2018-01-21 17:48:12 +01:00
* Start Phoenix endpoint with `mix phx.server` .
Now you can visit [`localhost:4000` ](http://localhost:4000 ) from your browser
and see the website (server *and* client) in action.
2018-07-25 16:48:18 +02:00
#### Client
2018-01-21 17:48:12 +01:00
If you plan to specifically change the client side (frontend), do the following
once the server is running:
2018-12-12 12:49:35 +01:00
* Install the NodeJS (we guarantee support for the latest LTS and later) ![](https://img.shields.io/badge/node-%3E%3D%2010.0+-brightgreen.svg)
2018-12-11 18:39:23 +01:00
* 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 on [`localhost:8080` ](http://localhost:8080 ) that gets
automatically reloaded on change.
2018-01-21 17:48:12 +01:00
2018-12-11 18:39:23 +01:00
### Docker
2018-12-17 11:24:26 +01:00
You need to install the latest supported [Docker ](https://docs.docker.com/install/#supported-platforms ) and [Docker-Compose ](https://docs.docker.com/compose/install/ ) before using the Docker way of installing Mobilizon.
2017-12-08 09:58:14 +01:00
2018-12-17 11:24:26 +01:00
Just run :
```bash
make start
```
to start a database container, an API container and the front-end dev container running on localhost.
2017-12-08 09:58:14 +01:00
## Learn more
2018-12-11 18:39:23 +01:00
* Official website: https://joinmobilizon.org/
* Source: https://framagit.org/framasoft/mobilizon
2018-12-19 14:39:50 +01:00
* Docu wiki: https://framagit.org/framasoft/mobilizon/wikis/home
2018-12-17 11:24:26 +01:00
* Riot/Matrix: https://riot.im/app/#/room/#Mobilizon:matrix.org
* Mastodon: https://framapiaf.org/@mobilizon
* Forum: https://framacolibri.org/c/mobilizon/fr-francais
2018-12-27 11:31:16 +01:00
Note: Most federation code comes from [Pleroma ](https://pleroma.social ), which is `Copyright © 2017-2018 Pleroma Authors - AGPL-3.0`