Aller au contenu

README ERP

Ce document reprend l essentiel du README.md du depot.

Strategie unique

Ce depot ne supporte qu une seule strategie : un unique projet Coolify qui deploie le frontend + Supabase via docker-compose.yml. Pas d autres modes de deploiement.

Ce que tu obtiens

  • Frontend React/Vite servi par Nginx.
  • Supabase self-hosted (DB, Auth, Storage, Realtime, Functions).
  • Documentation (MkDocs Material).
  • 3 domaines:
  • App : https://oben-services.com
  • Supabase API : https://supabase.oben-services.com
  • Docs : https://doc.oben-services.com

Prerequis (obligatoires)

  • Un VPS avec Coolify installe.
  • Un domaine qui pointe sur le VPS (DNS A).
  • Ports 80/443 ouverts.
  • Acces au repo Git prive.

Etape 1 - Generer les secrets (une seule fois)

Sur ton PC ou sur le VPS (peu importe), clone le repo puis genere un fichier .env.

./scripts/generate-env.sh \
  --domain oben-services.com \
  --supabase-base-url https://supabase.oben-services.com \
  --out ./.env

Ensuite, ouvre .env et verifie/ajuste ces valeurs : - SITE_URL = https://oben-services.com - SUPABASE_PUBLIC_URL = https://supabase.oben-services.com - API_EXTERNAL_URL = https://supabase.oben-services.com - ALLOWED_ORIGINS = https://oben-services.com - Si tu utilises aussi www, ajoute https://www.oben-services.com (separe par virgule). - ADDITIONAL_REDIRECT_URLS = (optionnel, ex: https://www.oben-services.com) - SMTP_* = obligatoire si tu veux que les invitations email fonctionnent en prod.

Important : ne commit jamais .env. Il contient des secrets.

Etape 2 - Creer la ressource Coolify (repo prive)

Dans Coolify : 1) Projects -> ton projet -> Add Resource -> Private Repository. 2) Choisis ton repo ERP (branche main). 3) Build Pack = Docker Compose. 4) Compose file = docker-compose.yml. 5) Save.

Etape 3 - Importer les variables .env dans Coolify

Dans la ressource Coolify : 1) Ouvre Environment Variables. 2) Import le contenu du fichier .env (copier/coller le fichier complet). 3) Sauvegarde.

Ces variables sont utilisees par tous les services Supabase + frontend.

Etape 4 - Configurer les domaines (Coolify)

Dans la ressource Coolify -> Domains :

1) Frontend - Service: erp_frontend - Domain: oben-services.com - Port: 80 - Path: /

2) Supabase - Service: kong - Domain: supabase.oben-services.com - Port: 8000 - Path: /

3) Documentation - Service: erp_docs - Domain: doc.oben-services.com - Port: 80 - Path: /

Etape 5 - Deployer

Clique Deploy et attends que tous les services passent en Running/Healthy.

Etape 6 - Verifier que tout fonctionne

Depuis ton PC :

curl -I https://oben-services.com
curl -I https://supabase.oben-services.com
curl -I https://doc.oben-services.com
curl https://oben-services.com/erp-config.js

Test Edge Functions (remplace par ta cle ANON si besoin) :

ANON_KEY="<TA_ANON_KEY>"
curl -i https://supabase.oben-services.com/functions/v1/hello \
  -H "Authorization: Bearer $ANON_KEY" \
  -H "apikey: $ANON_KEY"

Si tu as une erreur 503, le runtime Edge Functions ne demarre pas.

Ou modifier les Edge Functions

Les fonctions sont dans : - supabase-docker/volumes/functions/admin-users/index.ts - supabase-docker/volumes/functions/invite-user/index.ts

Le runtime utilise aussi : - supabase-docker/volumes/functions/main/index.ts - supabase-docker/volumes/functions/hello/index.ts

Mise a jour (apres la premiere installation)

  • Pousse un commit sur la branche.
  • Redeploie la ressource Coolify.

Pour un guide pas a pas, voir deploiement.md.