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 startto build, then launch a database container and an API container. - Follow the progress of the build with
docker-compose logs -f. - Access
localhost:4000in 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 mobilizonand setmobilizonas the password.
-
-
Install packages
- Fetch backend Elixir dependencies with
mix deps.get. - Go into the
cd jsdirectory,yarn installand 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_devcreate 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.exsfile 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.newtask$ 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:4000in 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.