Signed-off-by: Thomas Citharel <tcit@tcit.fr>
3.3 KiB
Development
Clone the repository:
=== "HTTPS"
bash git clone https://framagit.org/framasoft/mobilizon && cd mobilizon
=== "SSH"
bash git clone git@framagit.org:framasoft/mobilizon.git && cd mobilizon
Run Mobilizon:
- 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
- Install Docker and Docker-Compose 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
-
Install dependencies:
- Elixir (and Erlang)
- PostgreSQL >= 9.6 with PostGIS
- Install NodeJS (we guarantee support for the latest LTS and later)
-
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.
-
-
Install packages
- Fetch backend Elixir dependencies with
mix deps.get
. - Go into the
cd js
directory,yarn install
and then backcd ../
- Fetch backend Elixir dependencies with
-
Setup
-
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
. -
Generate a Guardian secret with
mix guardian.gen.secret
:$ mix guardian.gen.secret $ TTRcgYH/Y0rk8ph5fqExVWRWjK03cqymfTa70leljmLMsBChtm+6MM+pRrL76Io3
-
Create a
config/dev.secret.exs
file and add the Guardian config:import Config config :mobilizon, Mobilizon.Web.Auth.Guardian, secret_key: "TTRcgYH/Y0rk8ph5fqExVWRWjK03cqymfTa70leljmLMsBChtm+6MM+pRrL76Io3"
-
Generate your first user with the
mix mobilizon.users.new
task$ mix mobilizon.users.new john.doe@localhost.com --admin An user has been created with the following information: - email: john.doe@localhost.com - password: r/EKpKr5o7ngQY+r - Role: user The user will be prompted to create a new profile after login for the first time.
-
- Start Phoenix endpoint with
mix phx.server
. The client development server will also automatically be launched and will reload on file change. Now you can visitlocalhost:4000
in your browser and see the website (server and client) in action.
FAQ
Issues with argon2 when creating users.
This is because you installed deps through Docker and are now using Mobilizon without it, or the other way around. Just rm -r deps/argon2_elixir
and trigger mix deps.get
again.