Setup Wizard (First Run)
When you run Aceplay for the first time without a configuration file, the setup wizard automatically launches:Wizard Flow
The setup wizard guides you through initial configuration: 1. Welcome ScreenOnly players that are actually installed on your system will appear in the list. If no players are found, you’ll be prompted to install one.
Non-Interactive Mode
If running in a non-interactive environment (scripts, SSH without TTY, CI/CD), the wizard uses sensible defaults:- Player: First available player (preferring
mpvif installed) - HLS:
false
Configuration Editor
The configuration editor provides a full-featured TUI for managing all settings.Launching the Editor
You can open the interactive editor in several ways:Editor Interface
The editor is organized into sections:Video Player Section
Ace Stream Engine Section
Playback Options Section
Advanced Options Section
Completion
After completing the editor, your updated settings are displayed:Configuration Menu
Runningaceplay config opens an interactive menu with quick actions:
Menu Options
Edit all settings
Edit all settings
Opens the full configuration editor with all sections.
Change player
Change player
Quick selector to change only the video player:
Change engine host/port
Change engine host/port
Quick form to update acestream-engine connection:
Change timeout
Change timeout
Quick selector for timeout duration:
Toggle HLS
Toggle HLS
Instantly toggles HLS mode on/off:
Navigation
After each action, you can:- 🔙 Back to menu - Return to the main menu
- ❌ Exit - Save and exit
Player Detection
The interactive mode automatically detects which video players are installed:mpv
Fast and lightweight playerDetected at:
/usr/bin/mpv/usr/local/bin/mpv~/.local/bin/mpv
VLC
Feature-rich media playerDetected at:
/usr/bin/vlc/usr/local/bin/vlc~/.local/bin/vlc
ffplay
FFmpeg’s playback toolDetected at:
/usr/bin/ffplay/usr/local/bin/ffplay~/.local/bin/ffplay
Timeout Presets
The interactive editor provides preset timeout values optimized for different scenarios:| Preset | Duration | Use Case |
|---|---|---|
| 30 seconds | 30s | Fast streams with many seeders |
| 1 minute | 1m | Default - works for most streams |
| 2 minutes | 2m | Slower streams or weak connections |
| 5 minutes | 5m | Very slow streams or low seeders |
| 10 minutes | 10m | Maximum patience for rare content |
Keyboard Controls
The TUI uses standard keyboard navigation:| Key | Action |
|---|---|
↑ / ↓ | Navigate options |
Tab | Next field |
Shift+Tab | Previous field |
Enter | Select / Confirm |
Space | Toggle (for Yes/No) |
Esc | Cancel / Go back |
Ctrl+C | Exit without saving |
Technical Details
The interactive mode is built with:- Bubble Tea - TUI framework
- Huh - Form and input components
- Lipgloss - Styling and layout
Source Code References
The interactive components are implemented in:internal/ui/wizard.go:42-SetupWizard()- First-run setup wizardinternal/ui/wizard.go:171-ConfigEditor()- Full configuration editorinternal/ui/wizard.go:319-ConfigMenu()- Interactive menucmd/main.go:530-interactiveCmd- Interactive command definition
Related Commands
- Config Command - Command-line configuration
- Play Command - Play streams with configured settings