|
| 1 | +# ⚡ OctoGen Quick Start |
| 2 | + |
| 3 | +The absolute fastest way to get OctoGen running. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## 🎯 For Users (5 Minutes to Running) |
| 8 | + |
| 9 | +### 1. Get Gemini API Key (Free) |
| 10 | +Visit: **https://aistudio.google.com/apikey** |
| 11 | +- Sign in with Google account |
| 12 | +- Click "Create API key" |
| 13 | +- Copy the key (looks like: `AIzaSy...`) |
| 14 | + |
| 15 | +### 2. Create Configuration |
| 16 | +```bash |
| 17 | +cat > .env << 'EOF' |
| 18 | +# Required |
| 19 | +NAVIDROME_URL=http://192.168.1.100:4533 |
| 20 | +NAVIDROME_USER=admin |
| 21 | +NAVIDROME_PASSWORD=your_password |
| 22 | +OCTOFIESTA_URL=http://192.168.1.100:8080 |
| 23 | +AI_API_KEY=your_gemini_api_key |
| 24 | +
|
| 25 | +# Optional |
| 26 | +AI_MODEL=gemini-2.5-flash |
| 27 | +AI_BACKEND=gemini |
| 28 | +LOG_LEVEL=INFO |
| 29 | +EOF |
| 30 | +``` |
| 31 | + |
| 32 | +**Edit the file** with your actual values: |
| 33 | +```bash |
| 34 | +nano .env |
| 35 | +``` |
| 36 | + |
| 37 | +### 3. Run Docker Container |
| 38 | +```bash |
| 39 | +docker run -d \ |
| 40 | + --name octogen \ |
| 41 | + -v octogen-data:/data \ |
| 42 | + --env-file .env \ |
| 43 | + blueion76/octogen:latest |
| 44 | +``` |
| 45 | + |
| 46 | +### 4. Check Logs |
| 47 | +```bash |
| 48 | +docker logs -f octogen |
| 49 | +``` |
| 50 | + |
| 51 | +### 5. Check Navidrome |
| 52 | +Open your Navidrome web interface and look for 11 new playlists! 🎉 |
| 53 | + |
| 54 | +**Done!** Your playlists are ready. |
| 55 | + |
| 56 | +--- |
| 57 | + |
| 58 | +## 🐳 With Docker Compose (Recommended) |
| 59 | + |
| 60 | +### 1. Create docker-compose.yml |
| 61 | +```bash |
| 62 | +cat > docker-compose.yml << 'EOF' |
| 63 | +version: '3.8' |
| 64 | +
|
| 65 | +services: |
| 66 | + octogen: |
| 67 | + image: blueion76/octogen:latest |
| 68 | + container_name: octogen |
| 69 | + volumes: |
| 70 | + - octogen-data:/data |
| 71 | + env_file: |
| 72 | + - .env |
| 73 | + restart: unless-stopped |
| 74 | +
|
| 75 | +volumes: |
| 76 | + octogen-data: |
| 77 | +EOF |
| 78 | +``` |
| 79 | + |
| 80 | +### 2. Create .env |
| 81 | +```bash |
| 82 | +cat > .env << 'EOF' |
| 83 | +NAVIDROME_URL=http://192.168.1.100:4533 |
| 84 | +NAVIDROME_USER=admin |
| 85 | +NAVIDROME_PASSWORD=your_password |
| 86 | +OCTOFIESTA_URL=http://192.168.1.100:8080 |
| 87 | +AI_API_KEY=your_gemini_api_key |
| 88 | +EOF |
| 89 | +``` |
| 90 | + |
| 91 | +Edit with your values: |
| 92 | +```bash |
| 93 | +nano .env |
| 94 | +``` |
| 95 | + |
| 96 | +### 3. Start Services |
| 97 | +```bash |
| 98 | +docker-compose up -d |
| 99 | +``` |
| 100 | + |
| 101 | +### 4. View Logs |
| 102 | +```bash |
| 103 | +docker-compose logs -f octogen |
| 104 | +``` |
| 105 | + |
| 106 | +--- |
| 107 | + |
| 108 | +## 🔧 Configuration Examples |
| 109 | + |
| 110 | +### Minimal (Required Only) |
| 111 | +```bash |
| 112 | +NAVIDROME_URL=http://192.168.1.100:4533 |
| 113 | +NAVIDROME_USER=admin |
| 114 | +NAVIDROME_PASSWORD=secret123 |
| 115 | +OCTOFIESTA_URL=http://192.168.1.100:8080 |
| 116 | +AI_API_KEY=AIzaSyABC123... |
| 117 | +``` |
| 118 | + |
| 119 | +### With Groq (Fast & Free) |
| 120 | +```bash |
| 121 | +NAVIDROME_URL=http://192.168.1.100:4533 |
| 122 | +NAVIDROME_USER=admin |
| 123 | +NAVIDROME_PASSWORD=secret123 |
| 124 | +OCTOFIESTA_URL=http://192.168.1.100:8080 |
| 125 | + |
| 126 | +# Groq AI |
| 127 | +AI_BACKEND=openai |
| 128 | +AI_BASE_URL=https://api.groq.com/openai/v1 |
| 129 | +AI_MODEL=llama-3.3-70b-versatile |
| 130 | +AI_API_KEY=gsk_abc123... |
| 131 | +``` |
| 132 | + |
| 133 | +### With Ollama (Local, Offline) |
| 134 | +```bash |
| 135 | +NAVIDROME_URL=http://192.168.1.100:4533 |
| 136 | +NAVIDROME_USER=admin |
| 137 | +NAVIDROME_PASSWORD=secret123 |
| 138 | +OCTOFIESTA_URL=http://192.168.1.100:8080 |
| 139 | + |
| 140 | +# Ollama (local) |
| 141 | +AI_BACKEND=openai |
| 142 | +AI_BASE_URL=http://host.docker.internal:11434/v1 |
| 143 | +AI_MODEL=llama3.2 |
| 144 | +AI_API_KEY=ollama |
| 145 | +``` |
| 146 | + |
| 147 | +### With Last.fm Integration |
| 148 | +```bash |
| 149 | +NAVIDROME_URL=http://192.168.1.100:4533 |
| 150 | +NAVIDROME_USER=admin |
| 151 | +NAVIDROME_PASSWORD=secret123 |
| 152 | +OCTOFIESTA_URL=http://192.168.1.100:8080 |
| 153 | +AI_API_KEY=AIzaSyABC123... |
| 154 | + |
| 155 | +# Last.fm |
| 156 | +LASTFM_ENABLED=true |
| 157 | +LASTFM_API_KEY=your_lastfm_key |
| 158 | +LASTFM_USERNAME=your_lastfm_username |
| 159 | +``` |
| 160 | + |
| 161 | +--- |
| 162 | + |
| 163 | +## 🧪 Test First (Dry Run) |
| 164 | + |
| 165 | +Test without making any changes: |
| 166 | + |
| 167 | +```bash |
| 168 | +docker run --rm \ |
| 169 | + -v octogen-data:/data \ |
| 170 | + --env-file .env \ |
| 171 | + blueion76/octogen:latest \ |
| 172 | + python octogen.py --dry-run |
| 173 | +``` |
| 174 | + |
| 175 | +Shows what would happen without: |
| 176 | +- Downloading songs |
| 177 | +- Creating playlists |
| 178 | +- Making changes to Navidrome |
| 179 | + |
| 180 | +--- |
| 181 | + |
| 182 | +## 📊 What You'll Get |
| 183 | + |
| 184 | +### 11 Playlists Created: |
| 185 | +1. **Discovery Weekly** (50 songs) - New discoveries |
| 186 | +2. **Daily Mix 1** (30 songs) - Genre-based |
| 187 | +3. **Daily Mix 2** (30 songs) - Genre-based |
| 188 | +4. **Daily Mix 3** (30 songs) - Genre-based |
| 189 | +5. **Daily Mix 4** (30 songs) - Genre-based |
| 190 | +6. **Daily Mix 5** (30 songs) - Genre-based |
| 191 | +7. **Daily Mix 6** (30 songs) - Genre-based |
| 192 | +8. **Chill Vibes** (30 songs) - Relaxing |
| 193 | +9. **Workout Energy** (30 songs) - High-energy |
| 194 | +10. **Focus Flow** (30 songs) - Ambient/instrumental |
| 195 | +11. **Drive Time** (30 songs) - Upbeat |
| 196 | + |
| 197 | +**Total: 350+ songs automatically curated!** |
| 198 | + |
| 199 | +--- |
| 200 | + |
| 201 | +## 🔄 Run Daily |
| 202 | + |
| 203 | +### Option 1: Manual |
| 204 | +```bash |
| 205 | +docker start octogen |
| 206 | +``` |
| 207 | + |
| 208 | +### Option 2: Cron (Automatic at 6 AM) |
| 209 | +```bash |
| 210 | +crontab -e |
| 211 | + |
| 212 | +# Add line: |
| 213 | +0 6 * * * docker start octogen |
| 214 | +``` |
| 215 | + |
| 216 | +### Option 3: Docker Compose Loop |
| 217 | +```yaml |
| 218 | +services: |
| 219 | + octogen: |
| 220 | + image: blueion76/octogen:latest |
| 221 | + command: | |
| 222 | + sh -c "while true; do |
| 223 | + python octogen.py |
| 224 | + sleep 86400 |
| 225 | + done" |
| 226 | +``` |
| 227 | +
|
| 228 | +--- |
| 229 | +
|
| 230 | +## 🛠️ Troubleshooting |
| 231 | +
|
| 232 | +### Problem: Can't pull image |
| 233 | +```bash |
| 234 | +# Make sure Docker is running |
| 235 | +docker ps |
| 236 | + |
| 237 | +# Try explicit pull |
| 238 | +docker pull blueion76/octogen:latest |
| 239 | +``` |
| 240 | + |
| 241 | +### Problem: Connection to Navidrome fails |
| 242 | +```bash |
| 243 | +# If in same Docker network, use service name: |
| 244 | +NAVIDROME_URL=http://navidrome:4533 |
| 245 | + |
| 246 | +# If on host machine, use host.docker.internal: |
| 247 | +NAVIDROME_URL=http://host.docker.internal:4533 |
| 248 | +``` |
| 249 | + |
| 250 | +### Problem: AI API errors |
| 251 | +```bash |
| 252 | +# Verify your API key is correct |
| 253 | +# Check you have quota/credits remaining |
| 254 | +# Try a different AI provider (see examples above) |
| 255 | +``` |
| 256 | + |
| 257 | +### Problem: No playlists created |
| 258 | +```bash |
| 259 | +# Check logs for errors |
| 260 | +docker logs octogen |
| 261 | + |
| 262 | +# Make sure you have starred songs in Navidrome |
| 263 | +# Verify Octo-Fiesta is running and accessible |
| 264 | +``` |
| 265 | + |
| 266 | +--- |
| 267 | + |
| 268 | +## 📖 More Information |
| 269 | + |
| 270 | +- **Complete setup**: See [GITHUB_WEB_UI_SETUP.md](GITHUB_WEB_UI_SETUP.md) |
| 271 | +- **All variables**: See [ENV_VARS.md](ENV_VARS.md) |
| 272 | +- **Full docs**: See [README.md](README.md) |
| 273 | + |
| 274 | +--- |
| 275 | + |
| 276 | +## 🔗 Quick Links |
| 277 | + |
| 278 | +- **Docker Hub**: https://hub.docker.com/r/blueion76/octogen |
| 279 | +- **GitHub**: https://github.com/Blueion76/Octogen |
| 280 | +- **Issues**: https://github.com/Blueion76/Octogen/issues |
| 281 | + |
| 282 | +--- |
| 283 | + |
| 284 | +**That's it! You're running OctoGen.** 🎉 |
0 commit comments