80fe65ea93
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.
2.2 KiB
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:
- Elixir (and Erlang) by following the instructions at https://elixir-lang.github.io/install.html
- PostgreSQL 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
.
-
- 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.