Optimize academy
This commit is contained in:
275
env
Normal file
275
env
Normal file
@@ -0,0 +1,275 @@
|
||||
APP_NAME=SkinbaseNova
|
||||
APP_ENV=local
|
||||
APP_KEY=base64:TAMmcAnL05vnhSV7wBoDoSc/Pv42LNQtX6B6lGc3HBk=
|
||||
APP_DEBUG=true
|
||||
APP_URL=http://skinbase26.test
|
||||
|
||||
DEBUGBAR_ENABLED=true
|
||||
|
||||
APP_LOCALE=en
|
||||
APP_FALLBACK_LOCALE=en
|
||||
APP_FAKER_LOCALE=en_US
|
||||
|
||||
APP_MAINTENANCE_DRIVER=file
|
||||
# APP_MAINTENANCE_STORE=database
|
||||
|
||||
# PHP_CLI_SERVER_WORKERS=4
|
||||
|
||||
BCRYPT_ROUNDS=12
|
||||
|
||||
LOG_CHANNEL=stack
|
||||
LOG_STACK=single
|
||||
LOG_DEPRECATIONS_CHANNEL=null
|
||||
LOG_LEVEL=debug
|
||||
|
||||
DB_CONNECTION=mysql
|
||||
#DB_HOST=10.255.255.254
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=projekti_2026_skinbase
|
||||
DB_USERNAME=projekti
|
||||
DB_PASSWORD=2Xf5TM3P1IeNTfhs
|
||||
|
||||
LEGACY_DB_HOST=127.0.0.1
|
||||
LEGACY_DB_DATABASE=projekti_old_skinbase
|
||||
|
||||
SESSION_DRIVER=database
|
||||
SESSION_LIFETIME=3600
|
||||
SESSION_ENCRYPT=false
|
||||
SESSION_PATH=/
|
||||
SESSION_DOMAIN=null
|
||||
|
||||
BROADCAST_CONNECTION=reverb
|
||||
FILESYSTEM_DISK=local
|
||||
QUEUE_CONNECTION=redis
|
||||
|
||||
CACHE_STORE=database
|
||||
# CACHE_PREFIX=
|
||||
|
||||
MEMCACHED_HOST=127.0.0.1
|
||||
|
||||
REDIS_CLIENT=predis
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PASSWORD=null
|
||||
REDIS_PORT=6379
|
||||
|
||||
MAIL_MAILER=smtp
|
||||
MAIL_HOST=smtp-pulse.com
|
||||
MAIL_PORT=587
|
||||
MAIL_USERNAME=info@skinbase.org
|
||||
MAIL_PASSWORD=ML2BBL958fdCMMc
|
||||
MAIL_ENCRYPTION=tls
|
||||
MAIL_FROM_ADDRESS='info@skinbase.org'
|
||||
MAIL_FROM_NAME="Skinbase"
|
||||
|
||||
AWS_ACCESS_KEY_ID=9d9292110fb4f68b2e4bc1fa55d6b2a3
|
||||
AWS_SECRET_ACCESS_KEY=0a1d8d8a38eb9a15ff23eac0c5e993c1
|
||||
AWS_DEFAULT_REGION=eu2
|
||||
AWS_BUCKET=skinbase
|
||||
AWS_USE_PATH_STYLE_ENDPOINT=true
|
||||
AWS_ENDPOINT=https://eu2.contabostorage.com
|
||||
|
||||
VISION_VECTOR_GATEWAY_ENABLED=true
|
||||
VISION_VECTOR_GATEWAY_URL=https://vision.klevze.net
|
||||
VISION_VECTOR_GATEWAY_API_KEY=jQZ96c2B2QRjsFZiPZXMYCid6lVdsyxF
|
||||
VISION_VECTOR_GATEWAY_COLLECTION=images
|
||||
VISION_VECTOR_GATEWAY_TIMEOUT=20
|
||||
VISION_VECTOR_GATEWAY_CONNECT_TIMEOUT=5
|
||||
VISION_VECTOR_GATEWAY_RETRIES=1
|
||||
VISION_VECTOR_GATEWAY_RETRY_DELAY_MS=250
|
||||
|
||||
VITE_APP_NAME="${APP_NAME}"
|
||||
|
||||
SKINBASE_STORAGE_ROOT=D:/Sites/Skinbase26/public/files/thumb
|
||||
ARTWORKS_LOCAL_ORIGINALS_ROOT=D:/Sites/Skinbase26/public/files/originals
|
||||
|
||||
SCOUT_DRIVER=meilisearch
|
||||
|
||||
MEILISEARCH_HOST=https://meili.klevze.si
|
||||
MEILISEARCH_KEY=0d0df27b-dd25-4855-b6a6-3786755475c6
|
||||
#MEILISEARCH_KEY=a474f24de92941aac24441b4d7ee71ce4feb8e7a3157d4f6e6a42877cb2a563c
|
||||
|
||||
MEILI_PREFIX=skinbase_prod_
|
||||
|
||||
|
||||
# Discovery rollout profile (Phase 8 lock)
|
||||
DISCOVERY_ALGO_VERSION=clip-cosine-v1
|
||||
DISCOVERY_V2_ENABLED=true
|
||||
DISCOVERY_V2_ALGO_VERSION=clip-cosine-v2-adaptive
|
||||
DISCOVERY_V2_CACHE_VERSION=cache-v2
|
||||
DISCOVERY_V2_CACHE_TTL_MINUTES=15
|
||||
DISCOVERY_V2_ROLLOUT_PERCENTAGE=10
|
||||
DISCOVERY_RANKING_WEIGHTS_VERSION_CLIP_COSINE_V2=rank-w-v2-prod-1
|
||||
DISCOVERY_RANKING_W1_CLIP_COSINE_V2=0.52
|
||||
DISCOVERY_RANKING_W2_CLIP_COSINE_V2=0.23
|
||||
DISCOVERY_RANKING_W3_CLIP_COSINE_V2=0.15
|
||||
DISCOVERY_RANKING_W4_CLIP_COSINE_V2=0.10
|
||||
DISCOVERY_ROLLOUT_ENABLED=true
|
||||
DISCOVERY_ROLLOUT_BASELINE_ALGO_VERSION=clip-cosine-v1
|
||||
DISCOVERY_ROLLOUT_CANDIDATE_ALGO_VERSION=clip-cosine-v2
|
||||
DISCOVERY_ROLLOUT_ACTIVE_GATE=g10
|
||||
DISCOVERY_ROLLOUT_GATE_10_PERCENT=10
|
||||
DISCOVERY_ROLLOUT_GATE_50_PERCENT=50
|
||||
DISCOVERY_ROLLOUT_GATE_100_PERCENT=100
|
||||
DISCOVERY_FORCE_ALGO_VERSION=
|
||||
DISCOVERY_EVAL_SAVE_RATE_INFORMATIONAL=true
|
||||
|
||||
# Emergency rollback preset (uncomment to force baseline immediately)
|
||||
# DISCOVERY_FORCE_ALGO_VERSION=clip-cosine-v1
|
||||
# DISCOVERY_ROLLOUT_ACTIVE_GATE=g10
|
||||
# DISCOVERY_ROLLOUT_ENABLED=true
|
||||
UPLOAD_SCAN_ENABLED=false
|
||||
UPLOAD_SCAN_COMMAND=clamscan
|
||||
IMAGE_DRIVER=gd
|
||||
SKINBASE_UPLOADS_V2=true
|
||||
|
||||
# Vision / AI auto-tagging (local defaults)
|
||||
VISION_ENABLED=true
|
||||
VISION_QUEUE=default
|
||||
VISION_IMAGE_VARIANT=lg
|
||||
VISION_API_KEY=${VISION_VECTOR_GATEWAY_API_KEY}
|
||||
CLIP_BASE_URL=https://vision.klevze.net
|
||||
CLIP_ANALYZE_ENDPOINT=/analyze/clip
|
||||
YOLO_BASE_URL=https://vision.klevze.net
|
||||
YOLO_ANALYZE_ENDPOINT=/analyze/yolo
|
||||
|
||||
VISION_GATEWAY_URL=https://vision.klevze.net
|
||||
VISION_GATEWAY_API_KEY=${VISION_VECTOR_GATEWAY_API_KEY}
|
||||
VISION_GATEWAY_TIMEOUT=60
|
||||
VISION_GATEWAY_CONNECT_TIMEOUT=5
|
||||
|
||||
SCOUT_QUEUE_CONNECTION=database
|
||||
SCOUT_QUEUE_NAME=default
|
||||
|
||||
# ─── Early-Stage Growth System ───────────────────────────────────────────────
|
||||
# Set NOVA_EARLY_GROWTH_ENABLED=false to instantly revert to normal behaviour.
|
||||
# NOVA_EARLY_GROWTH_MODE: off | light | aggressive
|
||||
NOVA_EARLY_GROWTH_ENABLED=true
|
||||
NOVA_EARLY_GROWTH_MODE=aggressive
|
||||
|
||||
# Module toggles (only active when NOVA_EARLY_GROWTH_ENABLED=true)
|
||||
NOVA_EGS_ADAPTIVE_WINDOW=true
|
||||
NOVA_EGS_GRID_FILLER=true
|
||||
NOVA_EGS_SPOTLIGHT=true
|
||||
NOVA_EGS_ACTIVITY_LAYER=false
|
||||
|
||||
# AdaptiveTimeWindow thresholds
|
||||
NOVA_EGS_UPLOADS_PER_DAY_NARROW=10
|
||||
NOVA_EGS_UPLOADS_PER_DAY_WIDE=3
|
||||
NOVA_EGS_WINDOW_NARROW_DAYS=7
|
||||
NOVA_EGS_WINDOW_MEDIUM_DAYS=30
|
||||
NOVA_EGS_WINDOW_WIDE_DAYS=90
|
||||
|
||||
# GridFiller minimum items per page
|
||||
NOVA_EGS_GRID_MIN_RESULTS=12
|
||||
|
||||
# Auto-disable when site reaches organic scale
|
||||
NOVA_EGS_AUTO_DISABLE=false
|
||||
NOVA_EGS_AUTO_DISABLE_UPLOADS=50
|
||||
NOVA_EGS_AUTO_DISABLE_USERS=500
|
||||
|
||||
# Cache TTLs (seconds)
|
||||
NOVA_EGS_SPOTLIGHT_TTL=3600
|
||||
NOVA_EGS_BLEND_TTL=300
|
||||
NOVA_EGS_WINDOW_TTL=600
|
||||
NOVA_EGS_ACTIVITY_TTL=1800
|
||||
|
||||
GOOGLE_CLIENT_ID="252720311278-fgjgrv3bue9upgqfp91ihbpunoqlpjvf.apps.googleusercontent.com"
|
||||
GOOGLE_CLIENT_SECRET="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"
|
||||
GOOGLE_REDIRECT_URI=https://skinbase26.test/auth/google/callback
|
||||
|
||||
# Discord — https://discord.com/developers/applications
|
||||
DISCORD_CLIENT_ID=1478852108869570731
|
||||
DISCORD_CLIENT_SECRET=k9OgyZrwNqT_UwZgwvHTRdEw8DXStKLN
|
||||
DISCORD_REDIRECT_URI=https://skinbase26.test/auth/discord/callback
|
||||
|
||||
CP_ENABLE_CORS=false
|
||||
|
||||
BROADCAST_CONNECTION=reverb
|
||||
|
||||
REVERB_APP_ID=376489
|
||||
REVERB_APP_KEY=jm0pq3ikcu3yequsbioc
|
||||
REVERB_APP_SECRET=68sq4tc5lqhxuavxgqlt
|
||||
|
||||
# internal Reverb server bind
|
||||
REVERB_SERVER_HOST=127.0.0.1
|
||||
REVERB_SERVER_PORT=8080
|
||||
|
||||
# public host behind Cloudflare / Apache
|
||||
REVERB_HOST=ws.skinbase.org
|
||||
REVERB_PORT=443
|
||||
REVERB_SCHEME=https
|
||||
|
||||
VITE_REVERB_APP_KEY="${REVERB_APP_KEY}"
|
||||
VITE_REVERB_HOST="${REVERB_HOST}"
|
||||
VITE_REVERB_PORT="${REVERB_PORT}"
|
||||
VITE_REVERB_SCHEME="${REVERB_SCHEME}"
|
||||
|
||||
MESSAGING_REALTIME=true
|
||||
|
||||
CLOUDFLARE_ZONE_ID=2fead03fca715d3f44f567c671dc554d
|
||||
CLOUDFLARE_API_TOKEN=cfut_Bd7THUxtJTHvOb66xDXhzp4uEm8IoaHZAkkOBnbVbcda524d
|
||||
NOVA_CARDS_PUBLIC_DISK=s3
|
||||
NOVA_CARDS_PLAYWRIGHT_RENDER=true
|
||||
AWS_URL=https://cdn.skinbase.org
|
||||
|
||||
SEO_META_KEYWORDS=false
|
||||
|
||||
#SENTRY_LARAVEL_DSN=https://f3774714982b12b53cfc3e70e1883595@o106088.ingest.us.sentry.io/4511307411816448
|
||||
#SENTRY_SEND_DEFAULT_PII=true
|
||||
#SENTRY_TRACES_SAMPLE_RATE=1.0
|
||||
|
||||
SKINBASE_ACADEMY_ENABLED=true
|
||||
SKINBASE_ACADEMY_PAYMENTS_ENABLED=true
|
||||
SKINBASE_ACADEMY_CHALLENGES_ENABLED=true
|
||||
SKINBASE_ACADEMY_BADGES_ENABLED=true
|
||||
|
||||
# Stripe / Cashier
|
||||
STRIPE_KEY=pk_test_51TYk1SBlXOyRoJYFUxa4PsycgqcfajPUMKCAFwXle5edjB2dIg7CvwO3upI6P83ya5blD4CvhSiStY0kP8jyJbAp00zn9cPlii
|
||||
STRIPE_SECRET=sk_test_51TYk1SBlXOyRoJYFn0PvoXYvRa5KkGh5Q9PkMD3SgTKiBEibjnZsnZmKH098y38tQU8n14Fy1WyLrsuUAkgz1DtZ00MaOIwWBt
|
||||
STRIPE_WEBHOOK_SECRET=whsec_IeFGaq7AK27RWwXXchyaWyPqSJ08cBsW
|
||||
CASHIER_CURRENCY=eur
|
||||
CASHIER_CURRENCY_LOCALE=sl_SI
|
||||
|
||||
# Academy billing price IDs
|
||||
ACADEMY_CREATOR_MONTHLY_PRICE_ID=price_xxx
|
||||
ACADEMY_PRO_MONTHLY_PRICE_ID=price_1TYmkTBlXOyRoJYFfY8al4j2
|
||||
|
||||
ACADEMY_BILLING_ENABLED=true
|
||||
ACADEMY_STRIPE_SUBSCRIPTION_NAME=academy
|
||||
|
||||
# Registration anti-spam
|
||||
REGISTRATION_IP_PER_MINUTE_LIMIT=3
|
||||
REGISTRATION_IP_PER_DAY_LIMIT=20
|
||||
REGISTRATION_EMAIL_PER_MINUTE_LIMIT=6
|
||||
REGISTRATION_EMAIL_COOLDOWN_MINUTES=30
|
||||
REGISTRATION_VERIFY_TOKEN_TTL_HOURS=24
|
||||
REGISTRATION_ENABLE_TURNSTILE=true
|
||||
REGISTRATION_DISPOSABLE_DOMAINS_ENABLED=true
|
||||
REGISTRATION_TURNSTILE_SUSPICIOUS_ATTEMPTS=2
|
||||
REGISTRATION_TURNSTILE_ATTEMPT_WINDOW_MINUTES=30
|
||||
REGISTRATION_EMAIL_GLOBAL_SEND_PER_MINUTE=30
|
||||
REGISTRATION_MONTHLY_EMAIL_LIMIT=10000
|
||||
TURNSTILE_SITE_KEY=0x4AAAAAADI6Ruu4X2IpmLrF
|
||||
TURNSTILE_SECRET_KEY=0x4AAAAAADI6RlHFGscerV8DhIUwykRcbgE
|
||||
TURNSTILE_VERIFY_URL=https://challenges.cloudflare.com/turnstile/v0/siteverify
|
||||
TURNSTILE_TIMEOUT=5
|
||||
|
||||
TURNSTILE_ENABLED=true
|
||||
TURNSTILE_FAIL_OPEN=false
|
||||
|
||||
ENHANCE_DISK=public
|
||||
ENHANCE_SOURCE_PREFIX=enhance/sources
|
||||
ENHANCE_OUTPUT_PREFIX=enhance/outputs
|
||||
ENHANCE_PREVIEW_PREFIX=enhance/previews
|
||||
ENHANCE_ENGINE=stub
|
||||
ENHANCE_MAX_UPLOAD_MB=20
|
||||
ENHANCE_MAX_INPUT_WIDTH=4096
|
||||
ENHANCE_MAX_INPUT_HEIGHT=4096
|
||||
ENHANCE_MAX_OUTPUT_WIDTH=8192
|
||||
ENHANCE_MAX_OUTPUT_HEIGHT=8192
|
||||
ENHANCE_DAILY_LIMIT=10
|
||||
ENHANCE_QUEUE=default
|
||||
ENHANCE_WORKER_URL=
|
||||
ENHANCE_WORKER_TIMEOUT=300
|
||||
ENHANCE_WORKER_TOKEN=
|
||||
Reference in New Issue
Block a user