feat: setup Docker + MariaDB pour déploiement self-hosted
Deploy to Pacha Family / deploy (push) Failing after 3s

- Dockerfile (PHP 8.2 Apache + pdo_mysql)
- docker-compose.yml (househub + mariadb + Traefik househub.nas.percolouco.com)
- schema.sql (22 tables + données initiales)
- includes/db.php adapté pour variables d'environnement
- .env.example, .gitignore, README mis à jour

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
perco
2026-05-11 12:07:04 +02:00
co-authored by Claude Sonnet 4.6
parent 3f7ed9c2f1
commit 634e4647da
8 changed files with 350 additions and 34 deletions
+6 -34
View File
@@ -2,31 +2,13 @@
if (file_exists(__DIR__ . '/config.php')) {
require_once __DIR__ . '/config.php';
}
// Activer erreurs
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
// Détection de l'environnement
$isLocal = (strpos($_SERVER['HTTP_HOST'] ?? 'localhost', 'localhost') !== false ||
strpos($_SERVER['HTTP_HOST'] ?? '', '127.0.0.1') !== false ||
strpos($_SERVER['HTTP_HOST'] ?? '', '::1') !== false);
if ($isLocal) {
// Configuration XAMPP local
$host = 'localhost';
$db = 'percolo314'; // Même nom que sur OVH pour simplifier
$user = 'root';
$pass = ''; // Généralement vide sur XAMPP
} else {
// Configuration serveur OVH
$host = 'percolo314.mysql.db';
$db = 'percolo314';
$user = 'percolo314';
$pass = 'Wxcvbn99';
}
$host = getenv('DB_HOST') ?: 'househub-db';
$db = getenv('DB_NAME') ?: 'househub';
$user = getenv('DB_USER') ?: 'househub';
$pass = getenv('DB_PASS') ?: 'changeme';
$charset = 'utf8mb4';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
@@ -39,18 +21,8 @@ $options = [
try {
$pdo = new PDO($dsn, $user, $pass, $options);
// Forcer la collation
$pdo->exec("SET collation_connection = utf8mb4_general_ci");
$pdo->exec("SET collation_database = utf8mb4_general_ci");
$pdo->exec("SET collation_server = utf8mb4_general_ci");
// Debug optionnel (à commenter en production)
// $env = $isLocal ? 'LOCAL' : 'SERVEUR';
// echo "<!-- Connecté en $env sur $host/$db -->";
} catch (\PDOException $e) {
$environment = $isLocal ? 'local (XAMPP)' : 'serveur (OVH)';
die("Erreur de connexion ($environment) : " . $e->getMessage());
die("Erreur de connexion BDD : " . $e->getMessage());
}
?>