This commit is contained in:
Tomas Dvorak
2026-01-26 08:13:18 +01:00
parent aa036b6550
commit dfc079288f
505 changed files with 95755 additions and 5712 deletions
+90 -10
View File
@@ -1,16 +1,17 @@
# Application
APP_NAME=MyClub
APP_ENV=development
APP_ENV=development #or production
PORT=8080
DEBUG=true
PREMIUM=false
CLUB_DATA_MODE=auto #manual OR auto
# Database Migrations & Seeding
RUN_MIGRATIONS=true
SEED_DATABASE=false
# Database
DB_HOST=db
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=postgres
@@ -66,6 +67,14 @@ REACT_APP_NAME=Fotbal Club Manager
REACT_APP_API_URL=/api/v1
# FACR API Configuration
# MyClub Central Directory Service
DIRECTORY_INGEST_URL=https://error.sportcreative.eu/api/v1/directory/register
DIRECTORY_INGEST_TOKEN=directory-registration-secure-token-2025
# Error Reporting (existing)
ERROR_INGEST_URL=https://error.sportcreative.eu/api/v1/errors
ERROR_INGEST_TOKEN=error-ingest-token-secure
REACT_APP_FACR_API_BASE_URL=/api/v1/facr
REACT_APP_FACR_API_TIMEOUT=5000
REACT_APP_FACR_CACHE_TTL=3600000
@@ -83,25 +92,35 @@ READ_TIMEOUT=15
WRITE_TIMEOUT=120
# Feature Flags
REMBG_ENABLED=false
REMBG_ENABLED=true
# 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_ON=FALSE
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
OPENROUTER_MODEL=mistralai/mistral-small-3.1-24b-instruct:free
OPENROUTER_FALLBACK_MODEL=mistralai/mistral-7b-instruct:free
OPENROUTER_FALLBACK_MODEL2=openrouter/auto
# Optional headers to identify your site/app to OpenRouter
OPENROUTER_SITE_URL=http://localhost:8080
OPENROUTER_APP_NAME=MyClub
# DEEPSEEK (for AI blog generation)
DEEPSEEK_ON=TRUE
DEEPSEEK_API_KEY=sk-c74e363b04ed4eb7afba080c10a1e679
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_MODEL=deepseek-chat
DEEPSEEK_THINKING_MODEL=deepseek-reasoner
DEEPSEEK_MAX_DAILY_TOKENS=60000
DEEPSEEK_REASONER_MAX_DAILY_TOKENS=10000
# Frontend AI timeout (ms)
REACT_APP_AI_TIMEOUT_MS=90000
# Umami Analytics
# Umami AnalyticsMISTRAL_API_KEY=IY9Z5Ot8sBEdIC9F5cnAYMNxDffIU9Ta
# optional:
# MISTRAL_BASE_URL=https://api.mistral.ai
UMAMI_URL=https://umami.tdvorak.dev
UMAMI_USERNAME=admin
UMAMI_PASSWORD=eevRQ6h3G@!c#y4A1T
@@ -117,4 +136,65 @@ REACT_APP_ERROR_INGEST_URL=
REACT_APP_ERROR_INGEST_TOKEN=fcing_e17b6c1a4d2f9073b5c8e1f2a3d4e5f60718293a4b5c6d7e8f90123456789abc
ERROR_REVIEW_ADMIN_URL=
ERROR_REVIEW_ADMIN_TOKEN=fcadm_8c3a0c9f6d3b4e2caf1d7b9a2e5c6f7081a2b3c4d5e6f718192a3b4c5d6e7f80
ERROR_REVIEW_ADMIN_TOKEN=fcadm_8c3a0c9f6d3b4e2caf1d7b9a2e5c6f7081a2b3c4d5e6f718192a3b4c5d6e7f80
# Mistral (direct API: text, vision, OCR, voice)
MISTRAL_ON=TRUE
MISTRAL_API_KEY=IY9Z5Ot8sBEdIC9F5cnAYMNxDffIU9Ta
MISTRAL_BASE_URL=https://api.mistral.ai/v1
# Text models (used for blog/about etc.)
MISTRAL_TEXT_MODEL_PRIMARY=mistral-small-latest
MISTRAL_TEXT_MODEL_SECONDARY=ministral-14b-latest
# Vision / OCR
MISTRAL_VISION_MODEL_PIXTRAL=pixtral-12b
MISTRAL_OCR_MODEL=mistral-ocr-latest
# Voice (Voxtral)
MISTRAL_VOICE_MODEL_PRIMARY=voxtral-small-latest
MISTRAL_VOICE_MODEL_CHEAP=voxtral-mini-latest
# Server-side per-model quota (per user per day)
AI_DAILY_REQUEST_LIMIT_PER_MODEL=10
# Grok (x.ai) image generation
XAI_ON=FALSE
XAI_API_KEY=xai-ER2BQMW9HEAMUeEChj13wjQM0d9fGg8qKVGeKzluciSG93T50NLLxyW1mQc8AhO9Fplqw4aNPrl01Eo5
XAI_BASE_URL=https://api.x.ai/v1
XAI_IMAGE_MODEL=grok-2-image-latest
XAI_IMAGE_MODEL_INSTAGRAM=grok-2-image-latest
XAI_IMAGE_INSTAGRAM_DAILY_LIMIT=5
# Grok
GROK_ON=TRUE
GROK_API_KEY=xai-ER2BQMW9HEAMUeEChj13wjQM0d9fGg8qKVGeKzluciSG93T50NLLxyW1mQc8AhO9Fplqw4aNPrl01Eo5
GROK_BASE_URL=https://api.x.ai/v1
GROK_TEXT_MODEL_PRIMARY=grok-4-1-fast-non-reasoning
GROK_TEXT_MODEL_SECONDARY=grok-4-1-fast-reasoning
ESHOP_ENABLED=false
ESHOP_SERVICE_SUFFIX=
ESHOP_FRONTEND_URL=http://localhost:3100
ESHOP_API_URL=http://localhost:8082/api/v1/eshop
ESHOP_FRONTEND_PORT=3100
ESHOP_BACKEND_PORT=8082
PACKETA_API_PASSWORD=c940e91531cf0d50ac12a89415c16dcc
PACKETA_WIDGET_API_KEY=c940e91531cf0d50
PACKETA_ESHP_NAME=MyClub
PACKETA_ENV=test
# Revolut (E-shop payments)
# Use test credentials for development, production/live for real payments.
REVOLUT_ENABLED=false
REVOLUT_ENVIRONMENT=sandbox # sandbox | production
REVOLUT_API_KEY=your_revolut_api_key_here # Secret key from Revolut Business
REVOLUT_PUBLIC_KEY=your_revolut_public_key_here # Public key for checkout
REVOLUT_WEBHOOK_SECRET=your_revolut_webhook_secret_here
REVOLUT_RETURN_URL=${ESHOP_FRONTEND_URL}/objednavka/dekujeme
REVOLUT_WEBHOOK_URL=${ESHOP_API_URL}/payments/revolut/webhook
# Weather API
WEATHER_API_KEY=20dfd9a556ec43888dc103523250904
WEATHER_API_BASE_URL=https://api.weatherapi.com/v1