-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path.env.example
More file actions
204 lines (165 loc) · 7.26 KB
/
.env.example
File metadata and controls
204 lines (165 loc) · 7.26 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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
# OctoGen Environment Configuration
# Copy this file to .env and fill in your values
# ============================================================================
# REQUIRED - Navidrome Server
# ============================================================================
NAVIDROME_URL=http://192.168.1.100:4533
NAVIDROME_USER=admin
NAVIDROME_PASSWORD=your_navidrome_password
# ============================================================================
# Octo-Fiesta Server (downloads missing tracks)
# ============================================================================
# Set OCTOFIESTA_ENABLED=false for local-only mode (URL no longer required).
OCTOFIESTA_ENABLED=true
OCTOFIESTA_URL=http://192.168.1.100:5274
# ============================================================================
# OPTIONAL - AI Provider (LLM-based recommendations)
# ============================================================================
# At least one music source must be configured:
# AI_API_KEY, AudioMuse-AI, Last.fm, or ListenBrainz
# Get Gemini API key (free): https://aistudio.google.com/apikey
AI_API_KEY=your_gemini_api_key_here
# AI Model - Default is Gemini 2.5 Flash (recommended)
AI_MODEL=gemini-2.5-flash
# AI Backend - Options: gemini, openai
AI_BACKEND=gemini
# ============================================================================
# OPTIONAL - Alternative AI Providers
# ============================================================================
# For Groq (fast, free tier available)
# AI_BACKEND=openai
# AI_BASE_URL=https://api.groq.com/openai/v1
# AI_MODEL=llama-3.3-70b-versatile
# AI_API_KEY=your_groq_api_key
# For OpenAI (official)
# AI_BACKEND=openai
# AI_MODEL=gpt-4o
# AI_API_KEY=your_openai_api_key
# For Ollama (local, offline)
# AI_BACKEND=openai
# AI_BASE_URL=http://host.docker.internal:11434/v1
# AI_MODEL=llama3.2
# AI_API_KEY=ollama
# For OpenRouter (100+ models)
# AI_BACKEND=openai
# AI_BASE_URL=https://openrouter.ai/api/v1
# AI_MODEL=anthropic/claude-3.5-sonnet
# AI_API_KEY=your_openrouter_api_key
# ============================================================================
# OPTIONAL - Last.fm Integration
# ============================================================================
LASTFM_ENABLED=false
LASTFM_API_KEY=your_lastfm_api_key
LASTFM_USERNAME=your_lastfm_username
# ============================================================================
# OPTIONAL - ListenBrainz Integration
# ============================================================================
LISTENBRAINZ_ENABLED=false
LISTENBRAINZ_USERNAME=your_listenbrainz_username
LISTENBRAINZ_TOKEN=your_listenbrainz_token
# ============================================================================
# OPTIONAL - Performance Tuning
# ============================================================================
# Album batch size for library scanning
PERF_ALBUM_BATCH_SIZE=500
# Maximum albums to scan (prevents timeouts on huge libraries)
PERF_MAX_ALBUMS_SCAN=10000
# Scan timeout in seconds
PERF_SCAN_TIMEOUT=60
# Delay between downloads (seconds) - prevents overwhelming Octo-Fiesta
PERF_DOWNLOAD_DELAY=6
# Delay after Navidrome scan completes (seconds)
PERF_POST_SCAN_DELAY=10
# ============================================================================
# OPTIONAL - AI Configuration
# ============================================================================
# Maximum songs to include in AI context (memory optimization)
AI_MAX_CONTEXT_SONGS=300
# Maximum output tokens for AI response
AI_MAX_OUTPUT_TOKENS=8192
# Timeout in seconds for each AI API request (increase if you experience timeouts)
AI_REQUEST_TIMEOUT=300
# ============================================================================
# OPTIONAL - Monitoring and Metrics
# ============================================================================
# Enable Prometheus metrics collection (default: true)
METRICS_ENABLED=true
# Port for Prometheus metrics HTTP server
METRICS_PORT=9090
# Number of failures before opening circuit breaker
CIRCUIT_BREAKER_THRESHOLD=5
# Seconds to wait before attempting recovery
CIRCUIT_BREAKER_TIMEOUT=60
# ============================================================================
# OPTIONAL - Web UI Dashboard
# ============================================================================
# Enable web-based monitoring dashboard (default: false)
WEB_UI_ENABLED=false
# Port for web UI HTTP server
WEB_UI_PORT=5000
# ============================================================================
# OPTIONAL - Batch Processing
# ============================================================================
# Number of songs to download per batch
DOWNLOAD_BATCH_SIZE=5
# Maximum concurrent downloads
DOWNLOAD_CONCURRENCY=3
# ============================================================================
# OPTIONAL - Logging Configuration
# ============================================================================
# Log output format: text or json (default: text)
LOG_FORMAT=text
# Show progress indicators in terminal (default: true)
SHOW_PROGRESS=true
# ============================================================================
# OPTIONAL - Playlist Templates
# ============================================================================
# Path to custom playlist templates YAML file
PLAYLIST_TEMPLATES_FILE=/config/playlist_templates.yaml
# ============================================================================
# OPTIONAL - Logging
# ============================================================================
# Log level: DEBUG, INFO, WARNING, ERROR
LOG_LEVEL=INFO
# ============================================================================
# OPTIONAL - AudioMuse-AI Integration
# ============================================================================
# AudioMuse-AI Integration (Optional - for sonic analysis-based recommendations)
AUDIOMUSE_ENABLED=false
AUDIOMUSE_URL=http://localhost:8000
AUDIOMUSE_AI_PROVIDER=gemini
AUDIOMUSE_AI_MODEL=gemini-2.5-flash
AUDIOMUSE_AI_API_KEY=
AUDIOMUSE_SONGS_PER_MIX=25
LLM_SONGS_PER_MIX=5
# ============================================================================
# DOCKER - Data Directory
# ============================================================================
# Where to store logs, cache, and database (inside container)
# Usually you don't need to change this
OCTOGEN_DATA_DIR=/data
# ============================================================================
# OPTIONAL - Web UI Dashboard
# ============================================================================
# Enable web-based dashboard for monitoring (default: true)
WEB_ENABLED=true
# Web UI port (default: 5000)
WEB_PORT=5000
# ============================================================================
# OPTIONAL - Time-of-Day Playlists
# ============================================================================
# Enable automatic time-period playlist generation (default: true)
TIMEOFDAY_ENABLED=true
# Time period boundaries (24-hour format)
TIMEOFDAY_MORNING_START=4
TIMEOFDAY_MORNING_END=10
TIMEOFDAY_AFTERNOON_START=10
TIMEOFDAY_AFTERNOON_END=16
TIMEOFDAY_EVENING_START=16
TIMEOFDAY_EVENING_END=22
TIMEOFDAY_NIGHT_START=22
TIMEOFDAY_NIGHT_END=4
# Playlist size (default: 30 songs)
TIMEOFDAY_PLAYLIST_SIZE=30
# Auto-regenerate when time period changes (default: true)
TIMEOFDAY_REFRESH_ON_PERIOD_CHANGE=true