Fix mkdocs build

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel 2020-06-03 15:10:40 +02:00
parent 4144e9ffd0
commit 681737bf36
No known key found for this signature in database
GPG key ID: A061B9DDE0CA0773
3 changed files with 57 additions and 48 deletions

View file

@ -1,11 +1,11 @@
FROM elixir:latest FROM elixir:latest
LABEL maintainer="Thomas Citharel <tcit@tcit.fr>" LABEL maintainer="Thomas Citharel <tcit@tcit.fr>"
ENV REFRESHED_AT=2019-12-17 ENV REFRESHED_AT=2020-06-03
RUN apt-get update -yq && apt-get install -yq build-essential inotify-tools postgresql-client git curl gnupg xvfb libgtk-3-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 python3-pip RUN apt-get update -yq && apt-get install -yq build-essential inotify-tools postgresql-client git curl gnupg xvfb libgtk-3-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 python3-pip
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash && apt-get install nodejs -yq RUN curl -sL https://deb.nodesource.com/setup_12.x | bash && apt-get install nodejs -yq
RUN npm install -g yarn wait-on RUN npm install -g yarn wait-on
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN mix local.hex --force && mix local.rebar --force RUN mix local.hex --force && mix local.rebar --force
RUN pip3 install mkdocs mkdocs-material pymdown-extensions pygments mkdocs-git-revision-date-localized-plugin RUN pip3 install mkdocs mkdocs-material pymdown-extensions pygments mkdocs-git-revision-date-localized-plugin mkdocs-minify-plugin
RUN curl https://dbip.mirror.framasoft.org/files/dbip-city-lite-latest.mmdb --output GeoLite2-City.mmdb -s && mkdir -p /usr/share/GeoIP && mv GeoLite2-City.mmdb /usr/share/GeoIP/ RUN curl https://dbip.mirror.framasoft.org/files/dbip-city-lite-latest.mmdb --output GeoLite2-City.mmdb -s && mkdir -p /usr/share/GeoIP && mv GeoLite2-City.mmdb /usr/share/GeoIP/

View file

@ -2,47 +2,53 @@
Clone the repository: Clone the repository:
```bash tab="HTTPS" === "HTTPS"
git clone https://framagit.org/framasoft/mobilizon && cd mobilizon ``` bash
``` git clone https://framagit.org/framasoft/mobilizon && cd mobilizon
```
```bash tab="SSH" === "SSH"
git clone git@framagit.org:framasoft/mobilizon.git && cd mobilizon ``` bash
``` git clone git@framagit.org:framasoft/mobilizon.git && cd mobilizon
```
Run Mobilizon: Run Mobilizon:
* with Docker and Docker-Compose (**Recommended**) + 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) + without Docker and Docker-Compose (This involves more work on your part, use Docker and Docker-Compose if you can)
## With Docker ## With Docker
* Install [Docker](https://docs.docker.com/install/#supported-platforms) and [Docker-Compose](https://docs.docker.com/compose/install/) for your system. + Install [Docker](https://docs.docker.com/install/#supported-platforms) and [Docker-Compose](https://docs.docker.com/compose/install/) for your system.
* Run `make start` to build, then launch a database container and an API container. + 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`. + 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. + Access `localhost:4000` in your browser once the containers are fully built and launched.
## Without Docker ## Without Docker
* Install dependencies: + Install dependencies:
* [Elixir (and Erlang)](https://elixir-lang.org/install.html) - [Elixir (and Erlang)](https://elixir-lang.org/install.html)
* PostgreSQL >= 9.6 with PostGIS - PostgreSQL >= 9.6 with PostGIS
* [Install NodeJS](https://nodejs.org/en/download/) (we guarantee support for the latest LTS and later) ![](https://img.shields.io/badge/node-%3E%3D%2012.0+-brightgreen.svg) - [Install NodeJS](https://nodejs.org/en/download/) (we guarantee support for the latest LTS and later) ![](https://img.shields.io/badge/node-%3E%3D%2012.0+-brightgreen.svg)
* Start services: + Start services:
* Start postgres - Start postgres
* Setup services: + Setup services:
* Make sure the postgis extension is installed on your system. - Make sure the postgis extension is installed on your system.
* Create a postgres user with database creation capabilities, using the - 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; ``` 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`
```psql
create extension if not exists postgis;
```
* Run migrations: `mix ecto.migrate`. * Run migrations: `mix ecto.migrate`.
* Generate a Guardian secret with `mix guardian.gen.secret`: * Generate a Guardian secret with `mix guardian.gen.secret`:
@ -59,6 +65,7 @@ Run Mobilizon:
secret_key: "TTRcgYH/Y0rk8ph5fqExVWRWjK03cqymfTa70leljmLMsBChtm+6MM+pRrL76Io3" secret_key: "TTRcgYH/Y0rk8ph5fqExVWRWjK03cqymfTa70leljmLMsBChtm+6MM+pRrL76Io3"
``` ```
* Generate your first user with the `mix mobilizon.users.new` task * Generate your first user with the `mix mobilizon.users.new` task
```bash ```bash
@ -69,9 +76,9 @@ Run Mobilizon:
- Role: user - Role: user
The user will be prompted to create a new profile after login for the first time. 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 visit [`localhost:4000`](http://localhost:4000) in your browser * 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` ](http://localhost:4000) in your browser
and see the website (server *and* client) in action. and see the website (server *and* client) in action.
## FAQ ## FAQ

View file

@ -1,11 +1,10 @@
site_name: Mobilizon site_name: Mobilizon
repo_name: 'framasoft/mobilizon' repo_name: "framasoft/mobilizon"
repo_url: 'https://framagit.org/framasoft/mobilizon' repo_url: "https://framagit.org/framasoft/mobilizon"
extra: extra:
repo_icon: gitlab
social: social:
- type: 'twitter' - icon: "fontawesome/brands/twitter"
link: 'https://twitter.com/joinmobilizon' link: "https://twitter.com/joinmobilizon"
markdown_extensions: markdown_extensions:
- admonition - admonition
- codehilite - codehilite
@ -16,6 +15,7 @@ markdown_extensions:
- pymdownx.superfences - pymdownx.superfences
- pymdownx.magiclink - pymdownx.magiclink
- pymdownx.smartsymbols - pymdownx.smartsymbols
- pymdownx.tabbed
- pymdownx.tilde - pymdownx.tilde
- pymdownx.mark - pymdownx.mark
plugins: plugins:
@ -24,14 +24,16 @@ plugins:
- minify: - minify:
minify_html: true minify_html: true
theme: theme:
name: 'material' name: "material"
custom_dir: 'docs/theme/' features:
- instant
- tabs
custom_dir: "docs/theme/"
palette: palette:
primary: 'yellow' primary: "amber"
accent: 'deep purple' accent: "deep purple"
scheme: slate
font: false font: false
#logo: 'logo.png' icon:
logo: logo: material/calendar
icon: 'calendar_today' repo: fontawesome/brands/gitlab
feature:
tabs: true