17 Commits
v0.1 ... v1.0

Author SHA1 Message Date
d37227592b Modifs 2025-12-05 14:08:26 +00:00
472dd4feb1 Modification des fichiers de configs 2025-12-05 14:02:48 +00:00
562d1f3596 Ajout des modifications du playbook payara et ajout de fichiers pour déploiement appli 2025-12-04 11:53:17 +00:00
4accbfc708 Ajout du dossier ansible 2025-12-01 15:44:08 +00:00
a01b1eb764 Ajout d'un fichier test README.md dans partie2 2025-11-27 15:02:21 +00:00
d7d3ee014a Réorganisation du dossier SDIS29 2025-11-27 14:54:45 +00:00
a40cf5d050 Ajout fichier config http-proxy docker 2025-10-16 13:45:42 +02:00
20b7995761 Ajout du fichier save bdd 2025-10-16 09:19:34 +02:00
571c9e9120 Mise à jour des fichiers de configs et ajout du docker-compose de prod 2025-10-15 09:00:04 +02:00
582268744b Actualiser README.md 2025-10-15 08:40:14 +02:00
2965573551 Actualiser README.md 2025-10-14 11:43:10 +02:00
9c430b9523 Actualiser README.md 2025-10-14 11:42:24 +02:00
8743403f4c Actualiser README.md 2025-10-14 11:41:35 +02:00
a129217889 Actualiser configs/goss.yaml
Fichier goss.yaml de ap31-prod
2025-10-10 11:15:32 +02:00
fef12e5550 Ajout du fichier journal-upload.conf des machines ap31-test et ap31-prod 2025-10-10 11:02:45 +02:00
3367d82a03 Actualiser README.md 2025-10-10 10:44:37 +02:00
2fa7c3b302 Actualiser README.md 2025-10-10 10:27:48 +02:00
22 changed files with 390 additions and 156 deletions

151
README.md
View File

@@ -1,151 +0,0 @@
# Projet AP3 2026 - SDIS29
## Partie Systèmes et Réseaux
---
## Contexte du Projet
Le projet SDIS29 vise à moderniser le système dinformation du Service Départemental dIncendie et de Secours du Finistère afin doptimiser la gestion des alertes et la mobilisation des pompiers volontaires pour réduire les temps dintervention.
La partie systèmes et réseaux consiste à déployer une infrastructure virtualisée sur les serveurs Proxmox VE 9, hébergeant les services nécessaires au développement, test, et supervision de lapplication.
---
## Mission I1 — Mise en œuvre des serveurs ap31-prod et ap31-test
### Objectifs
- Déployer deux serveurs virtuels sur le serveur Proxmox `pxlab1` :
- `ap31-prod` pour la production
- `ap31-test` pour les tests
- Sur chaque serveur, installer et faire fonctionner via Docker :
- Serveur dapplication Payara (version 6.2025.9, JDK 17)
- Gestionnaire de base de données MariaDB
- Sur `ap31-test`, installer loutil PhpMyAdmin via Docker.
---
### Étapes réalisées
#### 1. Création des Templates Debian 12
- Utilisation du script `mktmpl` situé dans `/root/tools/` sur les serveurs `pxlab1`, `pxlab2` et `pxlab3`.
- Création des templates numérotés 2601, 2602, 2603 pour standardiser les VM Debian 12.
#### 2. Déploiement des VM
- Clonage des templates Debian 12 pour créer les machines virtuelles `ap31-prod` et `ap31-test`.
- Paramétrage cloud init des VMs avec leur adresse IP et le masque de sous réseau (172.16.0.10x/24), gateway
- Ajout du QEMU agent sur les machines permettant la communication entre la machine virtuelle et le serveur de virtualisation Proxmox.
- Mise en place daccès SSH par clé publique depuis au moins deux postes de travail.
- Configuration initiale :
- Proxy configuré dans `/etc/apt/apt.conf` via `wget depl/sio/api/apt.conf`.
- Fuseau horaire correctement paramétré.
#### 3. Installation de Docker
- Installation de Docker sur les VM `ap31-prod` et `ap31-test`.
#### 4. Déploiement des services Docker
- Création et utilisation de fichiers `docker-compose.yml` pour déployer :
- Payara avec JDK 17
- MariaDB
- Sur `ap31-test` : déploiement de PhpMyAdmin.
#### 5. Tests
- Utilisation de Goss pour vérifier le bon fonctionnement des services et des machines
## Mission I2 : Supervision avec Zabbix
## Objectif
Mettre en place une supervision centralisée des serveurs `ap3x-prod` et `ap3x-test` depuis la machine `ap3x-mon` à l'aide de Zabbix.
Lobjectif est dassurer une surveillance complète via plusieurs protocoles et services :
- Vérification de la disponibilité réseau (ping)
- Surveillance via **Zabbix Agent2** avec application de templates Linux standards
- Contrôle de laccès SSH sur les serveurs
- Supervision de laccès HTTP pour le serveur `ap3x-test`
- Mise en place dun système dalerte pour notifier automatiquement en cas de problème
- Extension de la supervision à dautres équipements réseaux critiques (passerelle `gwsiox`, serveurs `px`, `pxlabx`, `gwlab`)
---
## Environnement Technique
| Élément | Description |
|---------------------|-----------------------------------|
| Système dexploitation | Debian.12 Bookworm |
| Zabbix | Version 7.4. |
| Base de données | MariaDB 10.11 |
| Serveur Web | Apache2 + PHP 8.2 |
| Ports utilisés | 10050 (Zabbix agent), 10051 (Zabbix serveur), 3306 (journald-remote) |
---
## Installation & Configuration
### Installation des composants principaux
- Installation des paquets Zabbix serveur, frontend, agent2 et MariaDB via apt
- Configuration dune base MariaDB dédiée à Zabbix avec création dun utilisateur spécifique et import du schéma initial
- Mise en place de linterface web Zabbix avec paramètres de connexion vers MariaDB (host `localhost`, port 3306 par défaut)
- Configuration des services Zabbix pour démarrer automatiquement et vérification de leur état (`systemctl status`)
### Gestion des agents Zabbix
- Remplacement du `zabbix-agent` classique par `zabbix-agent2` permet une meilleure robustesse,et lintégration professionnelle. pour corriger les problèmes liés au PID et aux permissions, il est aussi plus récent
- Configuration des agents sur `ap3x-prod` et `ap3x-test` avec le template Linux standard afin davoir une collecte précise et homogène des métriques
### Supervision réseau et services
- Vérification des accès SSH et HTTP via des vérifications simples dans Zabbix (Simple checks et HTTP checks)
---
## Supervision centralisée des logs avec journald-remote
Pour aller au-delà de la simple supervision système, un serveur de logs centralisé a été mis en place sur `ap3x-mon` :
- Installation et configuration du service `systemd-journal-remote` pour recevoir les logs système des serveurs supervisés
- Script automatisé (`journald-rcv.sh`) pour configurer le serveur receveur avec les bons droits et paramètres (écoute HTTP sur le port 3306)
- Script client (`journald-snd.sh`) sur chaque serveur supervisé permettant denvoyer leurs journaux via `systemd-journal-upload` vers le serveur central
- Cette centralisation facilite la collecte, lanalyse et la corrélation des événements pour une meilleure détection des incidents
---
## Problèmes rencontrés et solutions apportées
| Problème | Analyse | Solution appliquée |
|---------------------------------|-----------------------------------------|---------------------------------------------|
| Service `zabbix-agent` ne démarre pas | Problèmes liés au fichier PID, conflits avec agent2 | Migration vers `zabbix-agent2`, nettoyage des sockets, correction des droits |
| Connexion à MariaDB échoue | Mauvais mot de passe, base non initialisée | Réinitialisation du mot de passe, création manuelle de la base et import du schéma |
| Centralisation des logs non fonctionnelle | Mauvaise configuration ou absence de service `journald-remote` | Installation et configuration via scripts automatisés, activation du service socket |
---
## Résultats obtenus
- Interface Zabbix opérationnelle et accessible via navigateur web
- Serveur Zabbix et agents en état actif et fonctionnel
- Collecte fiable des métriques systèmes et réseau sur les serveurs supervisés
- Supervision des accès SSH et HTTP fonctionnelle
- Mise en place dune infrastructure de logs centralisée opérationnelle avec réception régulière des journaux sur `ap3x-mon`
---
## Étapes suivantes
- Configuration de scénarios HTTP et vérifications spécifiques à `ap3x-test`
- Mise en place des alertes personnalisées (email, webhook, autres moyens)
- Ajout des équipements réseau supplémentaires à la supervision (passerelle, serveurs px, gwlab)
- Gestion des dépendances entre hôtes et services dans Zabbix pour éviter les alertes redondantes
---

150
partie1/README.md Normal file
View File

@@ -0,0 +1,150 @@
# Projet AP3 2026 - SDIS29
## Partie Systèmes et Réseaux
---
## Contexte du Projet
Le projet SDIS29 vise à moderniser le système dinformation du Service Départemental dIncendie et de Secours du Finistère afin doptimiser la gestion des alertes et la mobilisation des pompiers volontaires pour réduire les temps dintervention.
La partie systèmes et réseaux consiste à déployer une infrastructure virtualisée sur les serveurs Proxmox VE 9, hébergeant les services nécessaires au développement, test, et supervision de lapplication.
---
## Mission I1 — Mise en œuvre des serveurs ap31-prod et ap31-test
### Objectifs
- Déployer deux serveurs virtuels sur le serveur Proxmox `pxlab1` :
- `ap31-prod` pour la production
- `ap31-test` pour les tests
- Sur chaque serveur, installer et faire fonctionner via Docker :
- Serveur dapplication Payara (version 6.2025.9, JDK 17)
- Gestionnaire de base de données MariaDB
- Sur `ap31-test`, installer loutil PhpMyAdmin via Docker.
---
### Étapes réalisées
#### 1. Création des Templates Debian 12
- Utilisation du script `mktmpl` situé dans `/root/tools/` sur les serveurs `pxlab1`, `pxlab2` et `pxlab3`.
- Création des templates numérotés 2601, 2602, 2603 pour standardiser les VM Debian 12.
#### 2. Déploiement des VM
- Clonage des templates Debian 12 pour créer les machines virtuelles `ap31-prod` et `ap31-test`.
- Paramétrage cloud init des VMs avec leur adresse IP et le masque de sous réseau (172.16.0.10x/24), gateway
- Ajout du QEMU agent sur les machines permettant la communication entre la machine virtuelle et le serveur de virtualisation Proxmox.
- Mise en place daccès SSH par clé publique depuis au moins deux postes de travail.
- Configuration initiale :
- Proxy configuré dans `/etc/apt/apt.conf` via `wget depl/sio/api/apt.conf`.
- Fuseau horaire correctement paramétré.
#### 3. Installation de Docker
- Installation de Docker sur les VM `ap31-prod` et `ap31-test`.
#### 4. Déploiement des services Docker
- Création et utilisation de fichiers `docker-compose.yml` pour déployer :
- Payara avec JDK 17
- MariaDB
- Sur `ap31-test` : déploiement de PhpMyAdmin.
#### 5. Tests
- Utilisation de Goss pour vérifier le bon fonctionnement des services et des machines
---
## Mission I2 - Supervision des serveurs ap31-prod et ap31-test
### Objectifs de la mission
- Superviser les serveurs `ap31-prod` et `ap31-test` avec Zabbix installé sur `ap31-mon`.
- Vérifier la connectivité (ping), accès SSH, et service web pour `ap31-test`.
- Utiliser les agents `zabbix_agent2` et associer les templates `linux-server`.
- Envoyer des notifications en cas dincident (non réalisé via Zabbix mais avec Uptime Kuma).
### Installation et configuration
- Installation via `apt` des paquets Zabbix serveur, frontend, agent2, et MariaDB.
- Création dune base MariaDB dédiée à Zabbix avec utilisateur spécifique et import du schéma initial.
- Configuration de linterface web Zabbix avec connexion à la base MariaDB locale.
- Activation automatique et vérification des services Zabbix.
### Déploiement et supervision
- Utilisation du wizard agent avec clés PSK pour déployer les agents sur `ap31-prod` et `ap31-test`.
- Association des templates `linux-server` aux agents.
- Difficultés rencontrées avec les templates ICMP (ping) et Apache2 web, non fonctionnels.
- Les templates SSH nont pas été utilisés faute daccès SSH disponible.
- La gestion des alertes na pas été réalisée via Zabbix mais déléguée à Uptime Kuma.
---
## Mission I3 - Mise en place d'une infrastructure de gestion centralisée des logs
### Objectifs de la mission
- Centraliser les logs de plusieurs serveurs (`ap31-prod`, `ap31-test`, `gwsiox`) sur une machine dédiée (`ap31-mon`) via `systemd-journal-remote`.
- Mettre en place une politique de rotation et de rétention des logs syslog, avec une rotation hebdomadaire sur 4 semaines.
- Garantir la cohérence temporelle entre toutes les machines impliquées grâce à une synchronisation horaire fiable.
### Mise en œuvre
### Sur la machine centrale (réceptrice `ap31-mon`)
- Activation et configuration du service `systemd-journal-remote` pour recevoir les logs via HTTP.
- Création et gestion du répertoire `/var/log/journal/remote` avec les permissions appropriées.
- Rechargement des services systemd et vérification de lécoute sur le port dédié.
### Sur les serveurs sources (`ap31-prod` et `ap31-test`)
- Installation du paquet `systemd-journal-remote` pour permettre lenvoi des logs.
- Configuration dynamique de ladresse du serveur de réception dans `/etc/systemd/journal-upload.conf` via un script bash.
- Activation et démarrage du service `systemd-journal-upload` pour transmettre les journaux système vers `ap31-mon`.
### Gestion des logs et synchronisation
- Mise en place dune rotation des logs syslog, configurée pour une périodicité hebdomadaire avec une conservation de 4 semaines.
- Utilisation de `timedatectl` pour définir le fuseau horaire et garantir la synchronisation temporelle sur toutes les machines.
---
## Mission I4 Sécurisation et sauvegarde de la base de données
### Objectifs de la mission
- Sécuriser l'accès SSH aux machines via authentification par clé publique uniquement.
- Mettre en place une **sauvegarde automatique, compressée et quotidienne** de la base MariaDB sur `ap31-test`.
- Conserver un **historique de 7 jours** de ces sauvegardes.
- Fournir un script permettant de **restaurer la dernière sauvegarde** sur `ap31-prod`.
### Sécurisation de l'accès SSH
- Utilisation exclusive de l**authentification par clé publique** :
- Ajout des clés des administrateurs dans le fichier `~/.ssh/authorized_keys`.
- Désactivation de lauthentification par mot de passe dans `/etc/ssh/sshd_config` (`PasswordAuthentication no`).
- Configuration du fichier `~/.ssh/config` pour permettre la connexion via **nom de domaine personnalisé**, avec des alias pour simplifier l'accès aux serveurs (ex. : `ssh ap31-prod`).
- Redémarrage du service SSH pour prise en compte des modifications.
### Sauvegarde automatisée de MariaDB sur `ap31-test`
- Mise en place dun **script bash exécuté quotidiennement** (via cron) pour :
- Effectuer un **dump** de la base `sdis29` avec lutilisateur `adminBDsdis`.
- Compresser la sauvegarde (`gzip`).
- La stocker dans `/var/backups/mariadb` avec un nom de fichier horodaté.
- Supprimer les sauvegardes plus anciennes que 7 jours.
### Restauration de la dernière sauvegarde sur `ap31-prod`
- Un script permet de :
- **Décompresser** la dernière sauvegarde disponible.
- **Restaurer automatiquement** le fichier SQL dans la base `sdis29` sur `ap31-prod` à laide des identifiants fournis.

View File

@@ -0,0 +1,21 @@
#!/bin/bash
# Variables
DATE=$(date +'%Y-%m-%d_%H-%M-%S')
BACKUP_DIR="/var/backups/mariadb"
DB_NAME="sdis29"
DB_USER="adminBDsdis"
DB_PASS="u@4xKH@X"
# Créer le dossier de backup s'il n'existe pas
mkdir -p $BACKUP_DIR
# Exécuter la sauvegarde
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/${DB_NAME}_backup_$DATE.sql
# Optionnel : compresser la sauvegarde
gzip $BACKUP_DIR/${DB_NAME}_backup_$DATE.sql
# Nettoyer les anciennes sauvegardes (plus de 7 jours dans notre cas)
find $BACKUP_DIR -type f -name "*.gz" -mtime +7 -exec rm {} \;

View File

@@ -0,0 +1,25 @@
services:
payara:
image: payara/server-full:6.2025.9-jdk17
container_name: payara
ports:
- "8080:8080"
- "4848:4848"
env_file:
- "variables.env"
volumes:
- ./mariadb-java-client-3.5.6.jar:/opt/payara/glassfish/domains/domain1/lib/mariadb-java-client-3.5.6.jar:ro
restart: unless-stopped
db:
image: mariadb:latest
container_name: db
ports:
- "3306:3306"
env_file:
- "variables.env"
volumes:
- ./data/db_data:/var/lib/mysql
- ./init:/docker-entrypoint-initdb.d
restart: unless-stopped

View File

@@ -10,17 +10,17 @@ interface:
eth0: eth0:
exists: true exists: true
addrs: addrs:
- 172.16.0.101/24 - 172.16.0.100/24
- fe80::be24:11ff:fed2:d5ff/64 - fe80::be24:11ff:fed2:d5ff/64
mtu: 1500 mtu: 1500
http: http:
http://ap31-test.sio.lan:8080/: http://ap31-prod.sio.lan:8080/:
status: 200 status: 200
allow-insecure: false allow-insecure: false
no-follow-redirects: false no-follow-redirects: false
timeout: 10000 timeout: 10000
body: [] body: []
https://ap31-test.sio.lan:4848/: https://ap31-prod.sio.lan:4848/:
status: 200 status: 200
allow-insecure: true allow-insecure: true
no-follow-redirects: false no-follow-redirects: false

View File

@@ -0,0 +1,2 @@
[Service]
Environment="HTTP_PROXY=http://10.121.38.1:8080/" "HTTPS_PROXY=http://10.121.38.1:8080/" "NO_PROXY=localhost,127.0.0.0/8"

View File

@@ -0,0 +1,19 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free
# Software Foundation; either version 2.1 of the License, or (at your option)
# any later version.
#
# Entries in this file show the compile time defaults. Local configuration
# should be created by either modifying this file, or by creating "drop-ins" in
# the journal-upload.conf.d/ subdirectory. The latter is generally recommended.
# Defaults can be restored by simply deleting this file and all drop-ins.
#
# See journal-upload.conf(5) for details.
[Upload]
URL=http://ap31-mon.sio.lan:19532
# ServerKeyFile=/etc/ssl/private/journal-upload.pem
# ServerCertificateFile=/etc/ssl/certs/journal-upload.pem
# TrustedCertificateFile=/etc/ssl/ca/trusted.pem

View File

@@ -1,7 +1,7 @@
MYSQL_DATABASE=bdclient MYSQL_DATABASE=sdis29
MYSQL_HOST=db MYSQL_HOST=db
MYSQL_PORT=3306 MYSQL_PORT=3306
MYSQL_USER=adminBDCli MYSQL_USER=adminBDsdis
MYSQL_PASSWORD=u@4xKH@X MYSQL_PASSWORD=u@4xKH@X
MYSQL_ROOT_PASSWORD=2Fc#$9Fn MYSQL_ROOT_PASSWORD=2Fc#$9Fn

0
partie2/README.md Normal file
View File

5
partie2/ansible/.env Normal file
View File

@@ -0,0 +1,5 @@
GLPI_DB_HOST=db
GLPI_DB_PORT=3306
GLPI_DB_NAME=glpi
GLPI_DB_USER=glpi
GLPI_DB_PASSWORD=9Z8&i9zWUeOi

View File

@@ -0,0 +1,26 @@
services:
payara:
image: payara/server-full:6.2025.9-jdk17
container_name: payara
ports:
- "8080:8080"
- "4848:4848"
env_file:
- "variables.env"
volumes:
- ./mariadb-java-client-3.5.6.jar:/opt/payara/glassfish/domains/domain1/lib/mariadb-java-client-3.5.6.jar:ro
- ./SDIS29MedhiEmile-1.0-SNAPSHOT.war:/opt/payara/glassfish/domains/domain1/autodeploy/SDIS29MedhiEmile-1.0-SNAPSHOT.war
restart: unless-stopped
db:
image: mariadb:latest
container_name: db
ports:
- "3306:3306"
env_file:
- "variables.env"
volumes:
- ./data/db_data:/var/lib/mysql
- ./init:/docker-entrypoint-initdb.d
restart: unless-stopped

View File

@@ -0,0 +1,33 @@
services:
glpi:
image: "glpi/glpi:latest"
restart: "unless-stopped"
volumes:
- "./storage/glpi:/var/glpi:rw"
depends_on:
db:
condition: service_healthy
env_file: .env
environment:
TZ: Europe/Paris
ports:
- "4000:80"
db:
image: mariadb:latest
restart: "unless-stopped"
volumes:
- ./storage/mariadb:/var/lib/mysql
environment:
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
MYSQL_DATABASE: ${GLPI_DB_NAME}
MYSQL_USER: ${GLPI_DB_USER}
MYSQL_PASSWORD: ${GLPI_DB_PASSWORD}
healthcheck:
test: [ "CMD", "healthcheck.sh", "--su-mysql", "--connect", "--innodb_initialized" ]
start_period: 5s
interval: 5s
timeout: 5s
retries: 10
expose:
- "3306"

View File

@@ -0,0 +1,2 @@
[Service]
Environment="HTTP_PROXY=http://10.121.38.1:8080/" "HTTPS_PROXY=http://10.121.38.1:8080/" "NO_PROXY=localhost,127.0.0.0/8"

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,7 @@
MYSQL_DATABASE=sdis29
MYSQL_HOST=db
MYSQL_PORT=3306
MYSQL_USER=adminBDsdis
MYSQL_PASSWORD=u@4xKH@X
MYSQL_ROOT_PASSWORD=2Fc#$9Fn

4
partie2/ansible/hosts Normal file
View File

@@ -0,0 +1,4 @@
[ap31-srv]
ap31-pt
#ap31-test #ansible_host=172.16.0.101
#ap31-prod ansible_host=172.16.0.100

View File

@@ -0,0 +1,29 @@
---
- name: Installation de GLPI avec Docker
hosts: ap31-pt
become: yes
tasks:
- name: Création du dossier glpi
ansible.builtin.file:
path: /root/glpi
state: directory
mode: '0755'
- name: Importation du fichier docker-compose.yml
ansible.builtin.copy:
src: ./files/docker-compose.yml
dest: /root/glpi/docker-compose.yml
mode: '0644'
- name: Importation du fichier .env
ansible.builtin.copy:
src: .env
dest: /root/glpi/.env
mode: '0600'
- name: Pull et lancement du conteneur GLPI
ansible.builtin.shell:
cmd: docker compose pull && docker compose up -d
chdir: /root/glpi

View File

@@ -0,0 +1,62 @@
---
- name: Installation de docker et payara dockerisé
hosts: ap31-pt
become: yes
tasks:
- name: Téléchargement docker
ansible.builtin.get_url:
url: http://depl.sio.lan/store/get-docker.sh
dest: /tmp
- name: Execution du script get-docker.sh
ansible.builtin.shell:
cmd: export https_proxy=http://10.121.38.1:8080 ; bash /tmp/get-docker.sh
- name: Création d'un dossier payara
ansible.builtin.file:
path: ~/payara
state: directory
mode: '0755'
- name: Importation du fichier compose.yml
ansible.builtin.copy:
src: ./files/compose.yml
dest: ~/payara/compose.yml
mode: '0755'
- name: Création du répertoire docker.service.d
ansible.builtin.file:
path: /etc/systemd/system/docker.service.d
state: directory
mode: '0755'
- name: Importation du fichier http-proxy.conf pour docker
ansible.builtin.copy:
src: ./files/http-proxy.conf
dest: /etc/systemd/system/docker.service.d/http-proxy.conf
mode: '0755'
- name: Importation du fichier variables.env
ansible.builtin.copy:
src: ./files/variables.env
dest: /root/payara/
mode: '0755'
- name: Importation de la base de données compréssée
ansible.builtin.copy:
src: ./files/sdis29.sql.gz
dest: /root/payara/init/
mode: '0755'
- name: Importation du fichier war
ansible.builtin.copy:
src: ./files/SDIS29MedhiEmile-1.0-SNAPSHOT.war
dest: /root/payara
- name: Docker pull et docker compose up -d
ansible.builtin.shell:
cmd: usermod -aG docker debian ; systemctl daemon-reload ; systemctl restart docker ; cd ~/payara ; docker compose pull && docker compose up -d ; docker compose down -v ; rm -rf ./data/ ; docker compose up -d

0
partie2/test Normal file
View File