# PTA - Docker / Nginx / PHP / MariaDB / phpMyAdmin ## Installation Copier les fichiers de ce kit à la racine du projet PTA : - `Dockerfile` - `docker-compose.yml` - `.env.example` - `docker/nginx/default.conf` - `docker/php/php.ini` - `database/pta_prod_schema_mariadb.sql` Puis : ```bash cp .env.example .env nano .env ``` Changer impérativement `DB_PASSWORD` et `DB_ROOT_PASSWORD`. Démarrer : ```bash docker compose up -d --build ``` Application : ```text http://IP_DU_SERVEUR:8080 ``` phpMyAdmin est volontairement publié sur `127.0.0.1:8081` par défaut. Sur le serveur lui-même : ```text http://127.0.0.1:8081 ``` Pour y accéder depuis un poste distant, le plus sûr est un tunnel SSH : ```bash ssh -L 8081:127.0.0.1:8081 utilisateur@serveur ``` Puis ouvrir localement : ```text http://127.0.0.1:8081 ``` ## Base de données Le schéma `database/pta_prod_schema_mariadb.sql` est exécuté automatiquement uniquement lorsque le volume MariaDB est créé pour la première fois. Il ne sera PAS rejoué à chaque démarrage du conteneur. Si la base existe déjà, ne supprimez pas le volume pour appliquer une migration. Exécutez les migrations explicitement sur la base existante. ## Commandes utiles ```bash # Etat docker compose ps # Logs docker compose logs -f nginx php db # Rebuild après modification du PHP / JS / CSS docker compose up -d --build php nginx # Arrêt docker compose down # Arrêt SANS supprimer les données docker compose down # ATTENTION : supprime la base MariaDB persistée docker compose down -v ``` ## Connexion de l'application Le `config.php` PTA utilise déjà les variables : - `PTA_DB_HOST` - `PTA_DB_PORT` - `PTA_DB_NAME` - `PTA_DB_USER` - `PTA_DB_PASS` Le compose les fournit automatiquement au conteneur PHP.