security: remove exposed credentials, add .gitignore, harden infra

- Replace hardcoded ERPNext token and Twilio SID with $VAR placeholders
- Add .gitignore to exclude .env files, node_modules, build output
- Untrack apps/website/.env (contained Supabase key)
- Remove git.gigafibre.ca references (use git.targo.ca only)

Server-side (applied live):
- Traefik: disable dashboard, close port 8080
- Oktopus: add Authentik forwardAuth middleware
- Log level: DEBUG → WARN

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
louispaulb 2026-03-28 09:17:33 -04:00
parent 04dc0ceb14
commit 2e55a7d031
3 changed files with 27 additions and 7 deletions

21
.gitignore vendored Normal file
View File

@ -0,0 +1,21 @@
# Environment files (may contain secrets)
.env
.env.local
.env.*.local
apps/**/.env
apps/**/.env.local
# Dependencies
node_modules/
# Build output
dist/
build/
# OS
.DS_Store
Thumbs.db
# IDE
.vscode/
.idea/

View File

@ -1,3 +0,0 @@
VITE_SUPABASE_PROJECT_ID="rddrjzptzhypltuzmere"
VITE_SUPABASE_PUBLISHABLE_KEY="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InJkZHJqenB0emh5cGx0dXptZXJlIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzA4MTY4NTYsImV4cCI6MjA4NjM5Mjg1Nn0.EluFlKBze8BYM6AFx88G7kt21EvR18EI3uw1zgCXVzs"
VITE_SUPABASE_URL="https://rddrjzptzhypltuzmere.supabase.co"

View File

@ -30,7 +30,7 @@ Internet
│ ├─ Auto-login proxy (lit X-authentik-email de forwardAuth) │ ├─ Auto-login proxy (lit X-authentik-email de forwardAuth)
│ └─ Workflows: SMS routing, sharing, automation │ └─ Workflows: SMS routing, sharing, automation
├─ Gitea (git.gigafibre.ca / git.targo.ca) ├─ Gitea (git.targo.ca)
├─ www.gigafibre.ca ├─ www.gigafibre.ca
│ ├─ React/Vite site vitrine │ ├─ React/Vite site vitrine
@ -122,7 +122,7 @@ n8n Community Edition ne supporte pas OIDC. Solution :
### Token API (service token) ### Token API (service token)
``` ```
b273a666c86d2d0:613842e506d13b8 $ERP_SERVICE_TOKEN # stocké dans /opt/dispatch-app/.env sur le serveur
``` ```
Utilisé par le Dispatch PWA pour les appels API côté serveur (pas de session utilisateur — Authentik gère l'auth frontend, le token fixe gère l'auth API). Utilisé par le Dispatch PWA pour les appels API côté serveur (pas de session utilisateur — Authentik gère l'auth frontend, le token fixe gère l'auth API).
@ -252,7 +252,7 @@ SMS entrant (Twilio) → webhook → Mailjet API → louis@targo.ca
## SMS (Twilio) ## SMS (Twilio)
**Numéro:** +1 (438) 231-3838 **Numéro:** +1 (438) 231-3838
**SID:** ACddff61c2e272ddc4a94586fa7b68e90e **SID:** `$TWILIO_ACCOUNT_SID` # voir 1Password / secrets manager
**Status:** Compte trial (SMS limité aux numéros vérifiés) **Status:** Compte trial (SMS limité aux numéros vérifiés)
### Flux ### Flux
@ -293,6 +293,8 @@ Réception: Twilio → webhook POST → n8n.gigafibre.ca/webhook/sms-incoming
| `louis/gigafibre-fsm` | Docs architecture, scripts setup FSM | | `louis/gigafibre-fsm` | Docs architecture, scripts setup FSM |
| `louis/gigafibre-infra` | Configs serveur (traefik, docker-compose) | | `louis/gigafibre-infra` | Configs serveur (traefik, docker-compose) |
> **Note:** `git.gigafibre.ca` a été supprimé — utiliser uniquement `git.targo.ca`.
## Docker — Réseaux et Compose ## Docker — Réseaux et Compose
### Fichiers compose sur le serveur ### Fichiers compose sur le serveur
@ -331,7 +333,7 @@ Réception: Twilio → webhook POST → n8n.gigafibre.ca/webhook/sms-incoming
## Accès serveur ## Accès serveur
```bash ```bash
# SSH # SSH (voir 1Password pour la clé)
ssh -i ~/.ssh/proxmox_vm root@96.125.196.67 ssh -i ~/.ssh/proxmox_vm root@96.125.196.67
# Logs Traefik # Logs Traefik