dev-local.env 173 lignes · 7038 octets
# =============================================================================
# Gitrust — Configuration de developpement local
# =============================================================================
# Usage :
#   cp template/env/dev-local.env .env
#   $EDITOR .env          # ajuster DATABASE_URL, JWT_SECRET, ADMIN_PASSWORD
#   docker compose up -d  # demarre postgres puis gitrust
#
# Ce fichier cible un poste de dev local avec Docker Compose.
# NE PAS utiliser tel quel en production — voir template/env/production-mono-machine.env
# =============================================================================


# =============================================================================
# 1. BASE DE DONNEES
# =============================================================================
# Valeurs par defaut compatibles avec docker-compose.minimal.yml (service postgres).
# Le mot de passe "gitrust" est acceptable en dev local uniquement.
DATABASE_URL=postgres://gitrust:gitrust@localhost:5432/gitrust_dev


# =============================================================================
# 2. SERVEUR HTTP
# =============================================================================
# Accessible depuis localhost et le LAN local (pratique pour tester sur mobile).
SERVER_HOST=0.0.0.0
SERVER_PORT=4000


# =============================================================================
# 3. LOGGING
# =============================================================================
# Mode debug : toutes les requetes, migrations, sessions affichees.
# Syntaxe avancee : "info,gitrust_core=debug,sea_orm=warn"
RUST_LOG=debug


# =============================================================================
# 4. SERVEUR SSH GIT
# =============================================================================
# Cle hote generee automatiquement au premier demarrage si absente.
# En dev : chemin relatif OK. En prod : chemin absolu obligatoire.
# Permissions requises : 600, proprietaire = user qui lance gitrust.
SSH_HOST_KEY_PATH=./data/ssh_host_ed25519_key

# Port SSH non-privilegie — pas de conflit avec sshd systeme (port 22).
SSH_PORT=2222
SSH_LISTEN_ADDR=0.0.0.0

# Affiché dans l'UI pour les instructions "Clone via SSH".
SSH_PUBLIC_HOST=localhost


# =============================================================================
# 5. JWT & AUTHENTIFICATION
# =============================================================================
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# JWT_SECRET DOIT etre regenere avant tout usage reel.
# Commande : openssl rand -hex 32
# Les valeurs generiques ("change-me", "my-secret-key", etc.) sont REJETEES
# au demarrage par AuthConfig::from_env().
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
JWT_SECRET=<REMPLACER_openssl_rand_-hex_32>

JWT_EXPIRATION_MINUTES=15
JWT_ISSUER=gitrust-dev
REFRESH_TOKEN_EXPIRATION_DAYS=7
REMEMBER_ME_EXPIRATION_DAYS=30


# =============================================================================
# 6. SESSIONS
# =============================================================================
SESSION_TIMEOUT_MINUTES=30
# seaorm : persiste en base PostgreSQL — recommande meme en dev.
# memory : volatil, perdu au redemarrage (dev ultra-rapide uniquement).
SESSION_BACKEND=seaorm


# =============================================================================
# 7. RATE LIMITING — assoupli pour les tests
# =============================================================================
# Valeurs larges pour ne pas bloquer les tests intensifs en dev.
# voir .env.example ligne 134 pour les valeurs de production recommandees.
RATE_LIMIT_LOGIN_PER_MINUTE=60
RATE_LIMIT_REFRESH_PER_MINUTE=120
RATE_LIMIT_GENERAL_PER_MINUTE=1000


# =============================================================================
# 8. COOKIES & DEBUG
# =============================================================================
# APP_DEBUG=true desactive les cookies Secure pour HTTP local.
# Ne jamais mettre true en production.
APP_DEBUG=true
COOKIE_SECURE=false
COOKIE_SAME_SITE=Lax


# =============================================================================
# 9. ADMIN INITIAL
# =============================================================================
# Cree l'utilisateur admin au premier demarrage si la table users est vide.
ADMIN_USERNAME=admin
ADMIN_EMAIL=admin@localhost.dev
# Remplacer par un mot de passe quelconque en dev (min 8 chars).
ADMIN_PASSWORD=<REMPLACER_MOT_DE_PASSE_DEV>


# =============================================================================
# 10. EMAIL SMTP — desactive en dev
# =============================================================================
# SMTP non configure = gitrust demarre, mais les emails ne partent pas.
# Pour tester les emails en local, utiliser Mailpit (docker run -p 1025:1025 -p 8025:8025 axllent/mailpit).
# Puis decommenter les lignes ci-dessous :
# SMTP_HOST=localhost
# SMTP_PORT=1025
# SMTP_USER=dev
# SMTP_PASSWORD=dev
# SMTP_FROM=noreply@localhost.dev
# SMTP_FROM_NAME=Gitrust Dev
# SMTP_USE_TLS=false
# SMTP_USE_STARTTLS=false
# SMTP_ACCEPT_INVALID_CERTS=true
# EMAIL_BASE_URL=http://localhost:4000
EMAIL_VALIDATION_REQUIRED=false


# =============================================================================
# 11. INSCRIPTION
# =============================================================================
# Ouvert en dev pour faciliter les tests multi-utilisateurs.
ALLOW_REGISTRATION=true


# =============================================================================
# 12. APPLICATION
# =============================================================================
APP_NAME="Gitrust Dev"
DEFAULT_LOCALE=fr


# =============================================================================
# 15. DEPOTS GIT
# =============================================================================
# Chemin relatif acceptable en dev (binaire lance depuis la racine du projet).
# En prod : chemin absolu obligatoire (/opt/gitrust/data/repos).
GIT_REPOS_BASE_PATH=./data/repos


# =============================================================================
# 18. CI/CD DAGGER — desactive en dev par defaut
# =============================================================================
# Mettre CI_ENABLED=true uniquement si dagger est installe et teste localement.
CI_ENABLED=false
CI_MAX_CONCURRENT=2
CI_DEFAULT_TIMEOUT=3600
CI_WORKSPACE_PATH=/tmp/gitrust-ci
CI_LOG_RETENTION_DAYS=7


# =============================================================================
# 20. IMPORT DE DEPOTS EXTERNES
# =============================================================================
IMPORT_MAX_CONCURRENT=1
IMPORT_TIMEOUT_SECS=1800


# =============================================================================
# 21. SBOM / DEPENDENCY-TRACK — desactive en dev
# =============================================================================
CI_SBOM_ENABLED=false
CI_DTRACK_ENABLED=false