summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorertopogo <erwin.t.pombett@gmail.com>2026-01-18 22:25:26 +0100
committerertopogo <erwin.t.pombett@gmail.com>2026-01-18 22:25:26 +0100
commite01100156ffddfb4975e1aa7518744c2f0e3801a (patch)
tree9d890d885535ba427310dc21aef0cdd53584bc08
parent532e8b5726595500b06e48b47d6cd4e1bbfe3618 (diff)
Refactor environment variables and enhance installation documentation. Updated DATABASE_URL, NEXT_PUBLIC_MEDUSA_BACKEND_URL, ADMIN_CORS, and STORE_CORS to align with the revised internal DNS structure. Included additional guidelines for DNS nomenclature and clarified Git deployment instructions in INSTALLATION.md.
-rw-r--r--.env (renamed from env-)70
-rw-r--r--INSTALLATION.md103
-rw-r--r--env-example8
3 files changed, 142 insertions, 39 deletions
diff --git a/env- b/.env
index bed7b21..ebc625e 100644
--- a/env-
+++ b/.env
@@ -1,35 +1,35 @@
-# --------------------------------------------------------
-# CONFIGURATION DE LA BASE DE DONNEES
-# Remplacez <user>, <password>, <host> par vos vraies infos
-# Si Postgres est sur la machine hôte et pas dans Docker, utilisez l'IP locale ou host.docker.internal
-# --------------------------------------------------------
-DATABASE_URL=postgres://postgres:password@host.docker.internal:5432/medusa_db
-
-# --------------------------------------------------------
-# CLES DE SECURITE
-# Générez des clés aléatoires complexes pour la production
-# --------------------------------------------------------
-JWT_SECRET=supersecret
-COOKIE_SECRET=supersecret
-
-# --------------------------------------------------------
-# CONFIGURATION DES URLS
-# Pour la production, mettez vos vrais domaines (ex: https://api.monsite.com)
-# --------------------------------------------------------
-
-# URL du Backend (API) accessible par le navigateur
-NEXT_PUBLIC_MEDUSA_BACKEND_URL=http://localhost:9000
-
-# CORS Admin : Quels domaines peuvent accéder à l'admin ?
-ADMIN_CORS=http://localhost:7000,http://localhost:7001
-
-# CORS Store : Quels domaines (le frontend) peuvent accéder à l'API ?
-# En production, ce sera https://monsite.com
-STORE_CORS=http://localhost:8000
-
-# --------------------------------------------------------
-# PAIEMENTS (Optionnel)
-# --------------------------------------------------------
-STRIPE_API_KEY=
-STRIPE_WEBHOOK_SECRET=
-
+# --------------------------------------------------------
+# CONFIGURATION DE LA BASE DE DONNEES
+# Remplacez <user>, <password>, <host> par vos vraies infos
+# Si Postgres est sur la machine hôte et pas dans Docker, utilisez l'IP locale ou host.docker.internal
+# --------------------------------------------------------
+DATABASE_URL=postgres://postgres:password@host.docker.internal:5432/medusa_db
+
+# --------------------------------------------------------
+# CLES DE SECURITE
+# Générez des clés aléatoires complexes pour la production
+# --------------------------------------------------------
+JWT_SECRET=supersecret
+COOKIE_SECRET=supersecret
+
+# --------------------------------------------------------
+# CONFIGURATION DES URLS
+# Pour la production, mettez vos vrais domaines (ex: https://api.monsite.com)
+# --------------------------------------------------------
+
+# URL du Backend (API) accessible par le navigateur
+NEXT_PUBLIC_MEDUSA_BACKEND_URL=http://localhost:9000
+
+# CORS Admin : Quels domaines peuvent accéder à l'admin ?
+ADMIN_CORS=http://localhost:7000,http://localhost:7001
+
+# CORS Store : Quels domaines (le frontend) peuvent accéder à l'API ?
+# En production, ce sera https://monsite.com
+STORE_CORS=http://localhost:8000
+
+# --------------------------------------------------------
+# PAIEMENTS (Optionnel)
+# --------------------------------------------------------
+STRIPE_API_KEY=
+STRIPE_WEBHOOK_SECRET=
+
diff --git a/INSTALLATION.md b/INSTALLATION.md
index 69bcd4c..359abe0 100644
--- a/INSTALLATION.md
+++ b/INSTALLATION.md
@@ -9,6 +9,24 @@ Assurez-vous d'avoir :
- Une base de données **PostgreSQL** accessible (version 12+ recommandée).
- **Apache** installé sur la machine hôte.
+## 1.1 Nomenclature DNS (ruka.lan)
+
+Objectif : utiliser des noms internes stables sur `ruka.lan`, puis ouvrir les mêmes
+noms en DNS public plus tard avec un minimum d'adaptations.
+
+Format recommande :
+```
+<service>.<projet>.<site>.ruka.lan
+```
+
+Exemples pour Lucien Sens Bon (projet `lsb`) sur `huitral` :
+- `www.lsb.huitral.ruka.lan` : storefront (site public)
+- `api.lsb.huitral.ruka.lan` : API Medusa
+- `admin.lsb.huitral.ruka.lan` : admin (optionnel, sinon /app sur l'API)
+
+Conseil : gardez cette nomenclature pour tous vos projets afin de pouvoir passer
+en DNS public sans changer les URLs dans l'application.
+
## 2. Configuration Initiale
1. **Variables d'environnement** :
@@ -22,6 +40,43 @@ Assurez-vous d'avoir :
*Note : Si votre Postgres est sur la machine hôte (hors Docker), utilisez `host.docker.internal` comme hôte dans l'URL de connexion, ou l'IP locale du serveur.*
+ Exemple de valeurs utilisées dans ce projet (PostgreSQL sur `npagnun`) :
+ ```ini
+ DATABASE_URL=postgres://luciensbdb:VOTRE_MOT_DE_PASSE_DB@192.168.99.35:5432/sens_bon_db
+ NEXT_PUBLIC_MEDUSA_BACKEND_URL=http://api.lucien-sens-bon.com
+ ADMIN_CORS=http://api.lucien-sens-bon.com
+ STORE_CORS=http://lucien-sens-bon.com
+ ```
+
+ Édition avec `vim` :
+ ```bash
+ vim .env
+ ```
+
+## 2.1 Dépôt Git (Chillka) et récupération sur Huitral
+
+Cette section est à faire **avant** le reste si vous déployez depuis Git.
+
+### 2.1.1 Corriger le HEAD du dépôt bare (Chillka)
+
+Sur `chillka` :
+```bash
+git --git-dir=/var/data/git/repositories/lucien-sens-bon.git symbolic-ref HEAD refs/heads/main
+```
+
+### 2.1.2 Cloner le projet sur `huitral`
+
+Sur `huitral` :
+```bash
+cd /var/www
+git clone toshiro@chillka:/var/data/git/repositories/lucien-sens-bon.git
+cd lucien-sens-bon
+git fetch origin
+git checkout -b main origin/main
+```
+
+> Si votre branche distante est `master`, remplacez `main` par `master` dans les commandes ci‑dessus.
+
## 3. Installation et Démarrage
Lancez les conteneurs (cela va construire les images Backend et Storefront) :
@@ -30,6 +85,8 @@ Lancez les conteneurs (cela va construire les images Backend et Storefront) :
docker-compose up -d --build
```
+> Sur Debian 13, utilisez de préférence `docker compose` (sans tiret) si le plugin est installé.
+
Cela va démarrer 3 conteneurs :
- `medusa-backend` (API) sur le port 9000
- `medusa-storefront` (Site Web) sur le port 8000
@@ -75,6 +132,52 @@ Pour rendre le site accessible depuis le web (port 80/443), configurez Apache su
- **Storefront** : Accédez à `http://lucien-sens-bon.com` (ou votre domaine). Vous devriez voir la page d'accueil.
- **Admin** : Accédez à `http://api.lucien-sens-bon.com/app` (le dashboard admin est servi par le backend). Connectez-vous avec l'utilisateur créé à l'étape 4.
+## 7. Dépôt Git (Chillka) et déploiement sur Huitral
+
+Cette section documente la mise en place du dépôt Git **bare** sur le serveur `chillka` et le déploiement du projet sur `huitral`.
+
+### 7.1 Créer le dépôt bare sur `chillka`
+
+Sur `chillka` (root ou sudo) :
+```bash
+sudo mkdir -p /var/data/git/repositories/lucien-sens-bon.git
+sudo git init --bare /var/data/git/repositories/lucien-sens-bon.git
+sudo chown -R toshiro:git-group-users /var/data/git/repositories/lucien-sens-bon.git
+```
+
+### 7.2 Corriger les permissions (si `Permission denied`)
+
+Le dossier parent doit être accessible au groupe `git-group-users` :
+```bash
+sudo chgrp -R git-group-users /var/data/git/repositories
+sudo chmod -R 2775 /var/data/git/repositories
+```
+
+### 7.3 Pousser le projet vers `chillka` (depuis votre machine locale)
+
+Dans le dossier du projet :
+```bash
+git init
+git add .
+git commit -m "Initial commit: Medusa Backend + Storefront + Config"
+git remote add origin toshiro@chillka:/var/data/git/repositories/lucien-sens-bon.git
+git push -u origin main
+```
+
+> Si votre branche locale s'appelle `master`, utilisez :
+> ```bash
+> git push -u origin master
+> ```
+
+### 7.4 Récupérer le projet sur `huitral`
+
+Sur `huitral` :
+```bash
+cd /var/www
+git clone toshiro@chillka:/var/data/git/repositories/lucien-sens-bon.git lucien-sens-bon
+cd lucien-sens-bon
+```
+
## 7. Paiements Crypto
Pour activer les paiements Crypto, nous vous conseillons d'installer un plugin comme `medusa-payment-coinbase` ou d'utiliser une intégration Stripe Crypto si disponible.
diff --git a/env-example b/env-example
index bed7b21..c8e63b7 100644
--- a/env-example
+++ b/env-example
@@ -3,7 +3,7 @@
# Remplacez <user>, <password>, <host> par vos vraies infos
# Si Postgres est sur la machine hôte et pas dans Docker, utilisez l'IP locale ou host.docker.internal
# --------------------------------------------------------
-DATABASE_URL=postgres://postgres:password@host.docker.internal:5432/medusa_db
+DATABASE_URL=postgres://luciensbdb:VOTRE_MOT_DE_PASSE_DB@192.168.99.35:5432/sens_bon_db
# --------------------------------------------------------
# CLES DE SECURITE
@@ -18,14 +18,14 @@ COOKIE_SECRET=supersecret
# --------------------------------------------------------
# URL du Backend (API) accessible par le navigateur
-NEXT_PUBLIC_MEDUSA_BACKEND_URL=http://localhost:9000
+NEXT_PUBLIC_MEDUSA_BACKEND_URL=http://api.lsb.huitral.ruka.lan
# CORS Admin : Quels domaines peuvent accéder à l'admin ?
-ADMIN_CORS=http://localhost:7000,http://localhost:7001
+ADMIN_CORS=http://api.lsb.huitral.ruka.lan
# CORS Store : Quels domaines (le frontend) peuvent accéder à l'API ?
# En production, ce sera https://monsite.com
-STORE_CORS=http://localhost:8000
+STORE_CORS=http://www.lsb.huitral.ruka.lan
# --------------------------------------------------------
# PAIEMENTS (Optionnel)