# Application APP_NAME=FotbalClub APP_ENV=development PORT=8080 DEBUG=true # Database Migrations & Seeding RUN_MIGRATIONS=true SEED_DATABASE=false # Database DB_HOST=db DB_PORT=5432 DB_USER=postgres DB_PASSWORD=postgres DB_NAME=fotbal_club DATABASE_URL=postgres://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}?sslmode=disable # JWT JWT_SECRET=your_jwt_secret_key_here JWT_EXPIRATION_HOURS=24 # Email Configuration SMTP_HOST=smtp.example.com SMTP_PORT=587 SMTP_USER=your_email@example.com SMTP_PASSWORD=your_email_password SMTP_FROM=noreply@fotbalclub.com SMTP_FROM_NAME="Fotbal Club" SMTP_ENCRYPTION=tls # tls, ssl, or none SMTP_AUTH=true SMTP_SKIP_VERIFY=false # Set to true for self-signed certificates # Email Templates EMAIL_TEMPLATE_DIR=./templates/emails # Contact Form CONTACT_EMAIL=help@tdvorak.dev ADMIN_EMAIL=help@tdvorak.dev # Optional special SMTP override used ONLY for admin-triggered password reset emails # If set, the backend will use these credentials for POST /api/v1/admin/users/send-reset # while normal emails continue to use SMTP_* above. # Example (Purelymail over SSL on 465): # ADMIN_RESET_SMTP_HOST=smtp.purelymail.com # ADMIN_RESET_SMTP_PORT=465 # ADMIN_RESET_SMTP_USER=system@tdvorak.dev # ADMIN_RESET_SMTP_PASS=REPLACE_WITH_SECURE_PASSWORD # ADMIN_RESET_SMTP_FROM=system@tdvorak.dev # ADMIN_RESET_SMTP_FROM_NAME="Fotbal Club Admin" # Newsletter NEWSLETTER_ENABLED=true # File Uploads UPLOAD_DIR=./uploads MAX_UPLOAD_SIZE=10485760 # 10MB ALLOWED_FILE_TYPES=image/jpeg,image/png,image/gif,application/pdf MAX_FILES=5 # Maximum number of files per upload # CORS ALLOWED_ORIGINS=http://localhost:3000,http://localhost:8080 # Frontend Configuration REACT_APP_NAME=Fotbal Club Manager REACT_APP_API_URL=http://localhost:8080/api/v1 # FACR API Configuration REACT_APP_FACR_API_BASE_URL=http://localhost:8080/api/v1/facr REACT_APP_FACR_API_TIMEOUT=5000 REACT_APP_FACR_CACHE_TTL=3600000 # Homepage Layout (sparta or classic) REACT_APP_HOMEPAGE_LAYOUT=classic # Logging LOG_LEVEL=info # debug, info, warn, error LOG_FORMAT=text # text or json LOG_OUTPUT=stdout # stdout, stderr, or file path # OpenRouter (for AI blog generation) # Get a key at https://openrouter.ai # Do not commit real keys. Set in deployment environment. # Example key format: sk-or-v1-******************************** OPENROUTER_API_KEY=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 OPENROUTER_BASE_URL=https://openrouter.ai/api/v1 # Defaults can be overridden per environment OPENROUTER_MODEL=mistralai/mistral-small-3.2-24b-instruct:free OPENROUTER_FALLBACK_MODEL=mistralai/mistral-nemo:free # Optional headers to identify your site/app to OpenRouter OPENROUTER_SITE_URL=http://localhost:8080 OPENROUTER_APP_NAME=Fotbal Club Manager # Umami Analytics UMAMI_URL=https://umami.tdvorak.dev UMAMI_USERNAME=admin UMAMI_PASSWORD=eevRQ6h3G@!c#y4A1T UMAMI_WEBSITE_ID= # Leave empty for auto-create on production deployment