-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
84 lines (69 loc) · 3.04 KB
/
.env.example
File metadata and controls
84 lines (69 loc) · 3.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# Yoto API Configuration
YOTO_CLIENT_ID=your_yoto_client_id_here
# Get your client ID from: https://yoto.dev/get-started/start-here/
# After first authentication, store your refresh token here
YOTO_REFRESH_TOKEN=
# MQTT Configuration (obtained from Yoto API)
MQTT_BROKER=
MQTT_PORT=8883
MQTT_USE_TLS=true
MQTT_ENABLED=true
# Token Refresh Configuration
# Hours between automatic OAuth token refresh (1-23, default: 12)
# Access tokens expire in 24 hours. Refreshing every 12 hours ensures tokens
# remain valid even during idle periods, preventing authentication failures.
TOKEN_REFRESH_INTERVAL_HOURS=12
# Server Configuration
HOST=0.0.0.0
PORT=8080
DEBUG=false
# Audio Settings
MAX_UPLOAD_SIZE_MB=500
AUDIO_FORMATS=mp3,wav,ogg,flac,m4a
AUDIO_STORAGE_PATH=./audio_storage
# Database
DATABASE_URL=sqlite:///./yoto_smart_stream.db
# Security
SECRET_KEY=generate_a_secure_random_key_here
# You can generate one with: python -c "import secrets; print(secrets.token_urlsafe(32))"
# CORS Settings (for web UI)
ALLOWED_ORIGINS=http://localhost:8080,http://localhost:3000
# Logging
LOG_LEVEL=INFO
LOG_FILE=logs/yoto_smart_stream.log
# Text-to-Speech Configuration
# ElevenLabs API key for TTS generation and Speech-to-Text transcription
# Get your API key from: https://elevenlabs.io/
ELEVENLABS_API_KEY=your_elevenlabs_api_key_here
# Speech-to-Text Transcription Configuration
# Enable transcription for uploaded audio files
TRANSCRIPTION_ENABLED=false
# Transcription provider: 'whisper' or 'elevenlabs'
TRANSCRIPTION_PROVIDER=elevenlabs
# Model name: For ElevenLabs use 'scribe_v2', for Whisper use 'base', 'small', etc.
TRANSCRIPTION_MODEL=scribe_v2
# Railway Configuration (for deployments)
# Get your Railway token from: https://railway.app/account/tokens
RAILWAY_TOKEN=
# Public URL for Railway deployment (auto-set by Railway)
PUBLIC_URL=
# Environment name (automatically set by Railway as RAILWAY_ENVIRONMENT_NAME)
# Railway sets this to: "staging", "production", "pr-123", etc.
# For local development, you can optionally set ENVIRONMENT=development
# Note: RAILWAY_ENVIRONMENT_NAME takes priority over ENVIRONMENT
# Railway Startup Wait (for shared development environments)
# When using Railway shared environments, variables may take time to initialize.
# This setting adds a startup delay to ensure variables are loaded before use.
# Default: 0 (no wait). Recommended for shared dev: 5-10. Max: 30 seconds.
RAILWAY_STARTUP_WAIT_SECONDS=0
# Log all environment variables on startup (for debugging Railway variable issues)
# Set to true to see all environment variables when the server starts.
# Sensitive values (tokens, secrets, keys) are automatically masked.
# Default: false. Enable for debugging: true.
LOG_ENV_ON_STARTUP=false
# Ephemeral Environment Settings (for PR and Copilot sessions)
# These are automatically set by GitHub Actions workflows
# PR_NUMBER= # Set automatically for PR environments
# SESSION_TYPE= # Set automatically (pr, copilot, etc.)
# BRANCH_NAME= # Set automatically from git branch
# GIT_SHA= # Set automatically from git commit