Go to file
Nicolas Doby b4c1348e3e Merge pull request 'feat: review backend and frontend' (#3) from feat/v2 into main
Reviewed-on: #3
2024-09-12 09:52:57 +00:00
backend feat: review backend and frontend 2024-09-12 11:13:54 +02:00
frontend feat: review backend and frontend 2024-09-12 11:13:54 +02:00
.env_template feat: review backend and frontend 2024-09-12 11:13:54 +02:00
.gitignore feat: review backend and frontend 2024-09-12 11:13:54 +02:00
LICENSE Initial commit 2022-07-29 08:48:58 +00:00
README.md feat: review backend and frontend 2024-09-12 11:13:54 +02:00
docker-compose.yml feat: review backend and frontend 2024-09-12 11:13:54 +02:00

README.md

Boussole PLUSS

Contribuer à la Boussole

Le projet actuel est prévu pour travailler sur le thème de la production locale. Cet outil peut servir à évaluer des collectifs sur dautres thématiques. Vous êtes encouragé à y réfléchir et à y travailler. La licence AGPL version 3 prévoit un partage des améliorations que vous porterez à loutil. Si vous désirez faire un fork de loutil, contactez-nous : contact@apes-hdf.org

Installation

Le projet backend contient la partie backend de la Boussole PLUSS. Le projet frontend, le site web communiquant avec le backend.

Copier/coller le fichier .env_template en .env et modifier les variables d'environnements.

En utilisant docker-compose : docker-compose build en modifiant au préalable l'argument BACKEND_BASE_URL du fichier docker-compose.yml pour spécifier l'URL sur laquelle pointera le backend.

Au premier lancement, il faut initialiser la base de donnée. Pour ce faire :

  • docker-compose up -d database
  • docker exec database psql -U postgres -c "CREATE DATABASE pluss_db ENCODING UTF8" postgres

En suite, les autres services peuvent être lancés avec docker-compose up -d. La base de données sera remplie automatiquement par le service backend.

Le site est accessible via le service frontend, dans cet exemple du docker-compose.yml, depuis http://localhost:8190.

Voici un exemple de configuration Nginx compatible avec le docker-compose de ce projet (URL_EXTERNE est à remplacer par l'URL publique) :

upstream springboot {
  server 127.0.0.1:8191;
}

server {
  server_name URL_EXTERNE;

  location / {
    proxy_pass http://127.0.0.1:8190;
  }

  location /api {
    proxy_set_header    Host               $host;
    proxy_set_header    X-Real-IP          $remote_addr;
    proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;
    proxy_set_header    X-Forwarded-Host   $host;
    proxy_set_header    X-Forwarded-Server $host;
    proxy_set_header    X-Forwarded-Port   $server_port;
    proxy_set_header    X-Forwarded-Proto  $scheme;
    proxy_set_header    X-NginX-Proxy      true;

    rewrite ^/api/(.*)$ /$1 break;
    proxy_pass http://springboot;
  }

  error_log /var/log/nginx/pluss_error.log;

  listen [::]:80;
  listen 80;
}

Ceci est un exemple à ne pas utiliser sur un environnement de production.