mobilizon/docs/contribute/development.md

2.3 KiB

Development

Clone the repository:

git clone https://framagit.org/framasoft/mobilizon && cd mobilizon
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:
  • 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.
  • Install packages
    • Fetch backend Elixir dependencies with mix deps.get.
    • Go into the cd js directory, yarn install and then back cd ../
  • 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.

  • 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 visit localhost: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.