forked from ScoDoc/installmgr
74 lines
1.6 KiB
Markdown
74 lines
1.6 KiB
Markdown
# InstallMgr
|
|
|
|
Mini-app Flask remplaçant les CGI scripts de `scodoc.iutv`.
|
|
|
|
## API
|
|
|
|
- last_stable_version : numéro de la dernière release "officielle"
|
|
|
|
- upload_dump : réception (POST) d'un fichier de dump
|
|
|
|
- version?mode=${mode}\&release=${SCODOC_RELEASE}\&sn=${SN}"
|
|
mode = install | upgrade
|
|
release = current client release
|
|
sn = client serial number
|
|
returns: serial number
|
|
|
|
## Installation
|
|
|
|
1. Créer un utilisateur
|
|
```bash
|
|
adduser installmgr
|
|
```
|
|
|
|
2. Cloner le dépot
|
|
```bash
|
|
git clone https://scodoc.org/git/ScoDoc/installmgr.git /opt/installmgr
|
|
chown -R installmgr:installmgr /opt/installmgr
|
|
```
|
|
|
|
3. Créer l'environnement
|
|
```bash
|
|
su - installmgr
|
|
cd /opt/installmgr
|
|
python3 -m venv venv
|
|
source venv/bin/activate
|
|
pip install wheel
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
4. Créer les répertoires
|
|
```bash
|
|
mkdir incoming_dumps
|
|
# et éventuellement:
|
|
echo 1000 > counter
|
|
```
|
|
|
|
5. Configurer nginx
|
|
```nginx
|
|
location /scodoc-installmgr {
|
|
# forward application requests to the gunicorn server
|
|
proxy_pass http://localhost:8010;
|
|
proxy_redirect off;
|
|
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 https;
|
|
proxy_connect_timeout 120;
|
|
client_max_body_size 100m;
|
|
}
|
|
```
|
|
|
|
6. Installer le service
|
|
```bash
|
|
cp etc/installmgr.service /etc/systemd/system/
|
|
systemctl daemon-reload
|
|
systemctl start installmgr
|
|
```
|
|
7. Tester
|
|
|
|
Depuis un client extérieur,
|
|
```bash
|
|
http https://scodoc.org/scodoc-installmgr/last_stable_version
|
|
```
|