debianize-mobilizon/support/guides/development/development.md
Dany Marcoux 80fe65ea93
Improve documentation for the development section
Remove duplication for the Docker/Docker-Compose instructions.

Mention that Docker/Docker-Compose is the recommended approach to run
Mobilizon.

Be clear about accessing `localhost:4000` only once the containers are fully
built and launched.
2019-11-06 23:48:15 +01:00

2.2 KiB

Development

Clone the repository:

# With HTTPS
git clone https://framagit.org/framasoft/mobilizon && cd mobilizon

# With SSH
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 and Docker-Compose

  • 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 and Docker-Compose

  • 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.