Contributeurs :
Hosting est la plateforme d'hébergement cloud proposée gratuitement par l'Association MiNET à ses adhérents.
Ce code open source reprend la totalité du code de l'application web hosting.minet.net.
- Avoir installé
mysql
,angular
etflask
Se placer dans backend/
- Créer un environment virtuel
python3 -m venv venv
et l'activersource venv/bin/activate
- Lancer la commande
pip3 install -r requirements.txt
dans le dépot pour installer les packages requis.
Dans .env
, à la racine du projet :
export KEYRING_DNS_SECRET=<KEYRING_DNS_SECRET>
export PROXMOX_API_KEY_NAME=<PROXMOX_API_KEY_NAME>
export PROXMOX_API_KEY=<PROXMOX_API_KEY>
export PROXMOX_BACK_DB=<PROXMOX_BACK_DB>
export ADH6_API_KEY=<ADH6_API_KEY>
export PROXMOX_BACK_DB_DEV=<PROXMOX_BACK_DB_DEV>
export ENVIRONMENT="DEV"
Ces valeurs doivent vous êtes fournies par les maintainers actuels et dépendent de l'infrastructure.
L'environnement conditionne certains composants de l'application.
PROD
est réservé à l'execution de l'application dans un environnement de production. C'est par exemple au sein de cet environment que les cron jobs s'executeront. Il est impératif que seul l'env de PROD soit en charge de ce genre d'opérationsDEV
désactive certaines fonctionnalités réservées à la prod, comme les cron jobs. Mais il utilise la même pas de données la production. C'est l'environment à utiliser en local ou sur hosting-devTEST
est l'environment utilisé pour effectuer les tests unitaires et d'intégrations du backend. Il déploie un base de donnée particulière réservée aux tests.
Un makefile permet de lancer le site aisément :
make
pour lancer le serveur web et l'APImake run_server
pour lancer l'API seulementmake run_frontend
pour lancer le frontend
-
Charger les variables d'environnement
source .env
-
Rendez vous dans
backend/
et chargez l'environnement virtuel python :source venv/bin/activate
-
Exécutez la commande
python3 -m proxmox_api
. Le serveur se lance alors. Assurez vous qu'il est joignable via le port 8080 de votre machine pour qu'il puisse être joint par lefrontend
Le frontend
calcule l'adresse du backend en fonction de l'URL à partir de laquelle il s'execute. En local, l'URL doit être hosting-local.minet.net:<angular port>
(tout autre URL entrainera l'utilisation du backend de prod).
Vous devez donc
- Créer l'entrée DNS locale (
/etc/host
) :
127.0.0.1 hosting-local.minet.net
- Lancer dans le dossier
frontend
npm install
- Puis
ng serve --host=127.0.0.1 --disable-host-check
.
La totalité du code source est régis par la Licence AGPL-3.0.
Il est écrit par et pour l'Association 1901 : MiNET.
Ce service est hébergé par MiNET sur ses serveurs en France.
Pour tout report de vulnérabilité ou demande légale, merci de s'adresser à l'adresse mail webmaster[at]minet.net.
Une clé PGP pourra vous être fournie en cas de vulnérabilité trouvée.