Skip to content

jdev-org/py-documents-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

py-documents-api

Light API to manage documents

Installation

  • Création de l'environnement virtuel : Se mettre dans le dossier voulu puis

    $ python3 -m venv env

  • Activation de l'environnement :

    source env/bin/activate

Ce qu'on doit voir une fois activé => (env) loic@portable-4:

"deactivate" pour couper l'environnement.

  • Installation de FastAPI Mettre à jour pip avec

    python -m pip install --upgrade pip

Installer les dépendances nécessaires (dont FastAPI)

$ pip install -r /chemin/vers/requirements.txt (le fichier est présent dans le projet)

Démarrage

Lancement en mode dev avec rechargement à chaque modification (à n'utiliser que pour tester car lourd en utilisation)

fastapi dev main.py ou uvicorn main:app --reload

Ajouter le service en production

Copier le fichier exploit/edp-documents.service dans /etc/systemd/system et vérifier les élements et modifier le port si nécessaire

Rechargez systemd :

sudo systemctl daemon-reload

Activez le service :

 sudo systemctl enable edp-documents

Démarrer le service :

sudo systemctl enable edp-documents

Le serveur se lance sur http://127.0.0.1:8000 Le swagger est accessible sur http://127.0.0.1:8000/docs

Gestion des droits

L'utilisateur qui est utilisé pour exécuter le service doit avoir les droits sur le répertoire qui contient les documents.

Par exmple, si tomcat est utilisé pour exécuter le script (voir fichier /etc/systemd/system/xxxxx.service), alors tomcat doit :

  • pouvoir écrire dans les logs
  • pouvoir écrire dans le répertoire de stockage des documents

Exemple de commande :

  • chown -R tomcat:tomcat /path/to/documents
  • chown -R tomcat:tomcat /path/to/log/dir/monfichier.log
  • chown -R tomcat:tomcat /path/to/log/dir/monfichier-error.log

Config

Dans le fichier config.py il est possible de modifier plusieurs paramètres :

  • BASE_DIR : chemin vers le dossier courant de l'app (à éviter de modifier car les autres chemin en dépendent)
  • UPLOAD_DIR : dossier de destination des fichiers téléversés

About

Light API to manage documents

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages