Installation sur un serveur OVH
Informations sur le serveur
Création d’un Serveur Privé Virtuel, avec les paramètres suivantes :
Modèle : VPS vps2023-le-4
vCores : 4
Mémoire : 4 Go
Stockage : 80 Go
**Ubuntu 24.10 **
Localisation : Gravelines (GRA) - France
Installation sur le nouveau serveur
Installation de pyenv
Pyenv est nécessaire afin d’installer la version 3.10 de Python (paquets non disponibles avec la dernière version d’ubuntu).
Installer les dépendances pour pyenv :
sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
Installer pyenv (via le script recommandé)
curl https://pyenv.run | bash
Afin de pouvoir lancer facilement pyenv, ajoute les lignes suivantes à la fin de ton fichier ~/.bashrc
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Puis recharge ton shell :
source ~/.bashrc
Installation de DIAL
Clone le programme :
git clone https://gitlab.osureunion.fr/payen/dial-lidar-ozone-retrieval-for-actris.git
Va dans le dossier nouvellement créé :
cd dial-lidar-ozone-retrieval-for-actris
Installer Python 3.10
pyenv install 3.10.14
Créer un environnement virtuel avec pyenv
pyenv virtualenv 3.10.14 dash_env_310
pyenv activate dash_env_310
Installer les requirements
pip install -r requirements.txt
Installation de Nginx et gunicorn
Permet d’avoir plus de sécurité dans l’application
Installer Nginx
sudo apt update
sudo apt install nginx
pip install gunicorn
Crée la config Nginx pour ton app Dash
sudo nano /etc/nginx/sites-available/dash_app
Crée un fichier de config pour ton app
server {
listen 80;
server_name _;
location / {
proxy_pass http://127.0.0.1:8050;
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-Proto $scheme;
}
}
Activer le site et recharger Nginx
sudo ln -s /etc/nginx/sites-available/dash_app /etc/nginx/sites-enabled/
# Désactive le site par défaut
sudo rm /etc/nginx/sites-enabled/default
sudo nginx -t # pour vérifier la syntaxe
sudo systemctl reload nginx
Création du service de lancement du programme
Crée un fichier systemd pour ton app
sudo nano /etc/systemd/system/dash_app.service
Contenu du fichier de service
[Unit]
Description=Dash App - ozone_user_interface
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/dial-lidar-ozone-retrieval-for-actris
Environment="PATH=/home/ubuntu/.pyenv/versions/3.10.14/envs/dash_env_310/bin"
ExecStart=/home/ubuntu/.pyenv/versions/3.10.14/envs/dash_env_310/bin/gunicorn ozone_user_interface:server --bind 127.0.0.1:8050
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
Recharge la configuration de systemd
sudo systemctl daemon-reload
Active le service au démarrage
sudo systemctl enable dash_app
Démarre ton service
sudo systemctl start dash_app