A local Blazor Server dashboard for managing Fish Speech Docker containers with voice cloning, TTS generation, and real-time monitoring.
C#
0
323 commits
updated Sep 29, 2026
This project is an independent open-source tool and is not affiliated with, sponsored by, or endorsed by the Fish Audio team.
A local Blazor Server dashboard for managing Fish Speech Docker containers with voice cloning, TTS generation, and real-time monitoring.
Open Audio Orchestrator runs locally on Windows or Linux and manages Fish Speech Docker containers via Docker Desktop (Windows) or Docker CE (Linux). It provides a web interface for deploying TTS models, managing a voice reference library, generating speech via a background job queue, and monitoring container health and GPU metrics in real time.
docker exec curl, surviving app restarts; on recovery, completed files are detected automaticallyPlatform-specific setup instructions:
docs/WINDOWS-SETUP.mddocs/LINUX-SETUP.md (Debian/Ubuntu, RHEL/Fedora, Alpine)git clone https://github.com/bilbospocketses/oao.git
cd oao
dotnet run --project src/oao.Web -c Release
Navigate to http://localhost:5206 and complete the 7-step setup wizard. After setup, restart the app and log in with your admin credentials. See the platform setup guides above for detailed instructions.
server-cuda-v2.0.0-beta Docker image (the latest server-cuda tag has a torchaudio compatibility issue)--half) is enabled by default and recommended for cards with 20 GB VRAM or lessMost settings are configured automatically by the setup wizard. The app auto-detects your platform and applies appropriate defaults. For advanced use or manual changes, edit src/oao.Web/appsettings.json:
| Key | Description |
|---|---|
ConnectionStrings:Default | SQLite database path |
oao:DockerEndpoint | Docker API endpoint |
oao:DataRoot | Root directory for data files |
oao:PortRange:Start | Start of container port range (default: 9001) |
oao:PortRange:End | End of container port range (default: 9099) |
oao:DefaultImageTag | Default Fish Speech Docker image |
oao:DockerNetworkName | Docker bridge network name (default: oao-network) |
oao:HealthCheckIntervalSeconds | Health check frequency in seconds (default: 30) |
oao:Domain | FQDN for Let's Encrypt (blank = localhost) |
oao:DatabaseKey | SQLCipher encryption key (Data Protection encrypted) |
oao:AdminUser | Seed admin username (env var override) |
oao:AdminPassword | Seed admin password (env var override) |
Acme:AcceptTermsOfService | Accept Let's Encrypt terms (default: true) |
Acme:DomainNames | Domain names for certificate |
Acme:EmailAddress | Email for certificate renewal notices |
For automated deployments, set oao__AdminUser and oao__AdminPassword as environment variables to seed the admin account on first run (TOTP setup required on first login).
Design specifications are in docs/superpowers/specs/.
# Build
dotnet build
# Run in development mode
dotnet run --project src/oao.Web
# Add an EF Core migration
cd src/oao.Web
dotnet ef migrations add <MigrationName>
script-src 'unsafe-inline' requirement (audit finding SEC-03) with a stricter nonce- or hash-based CSPThis product includes Fish Audio Materials developed by Fish Audio. Copyright (c) 2026 Fish Audio. All Rights Reserved.
Built with Fish Audio. The Fish Audio S2 Pro models are for non-commercial research use only. Commercial use requires a separate license from Fish Audio. See the Fish Audio Research License for details.
This project is licensed under the GNU General Public License v3.0 — see the LICENSE file for details.
See NOTICE for third-party attribution requirements.
A local Blazor Server dashboard for managing Fish Speech Docker containers with voice cloning, TTS generation, and real-time monitoring.
C#
0
323 commits
updated Sep 29, 2026
This project is an independent open-source tool and is not affiliated with, sponsored by, or endorsed by the Fish Audio team.
A local Blazor Server dashboard for managing Fish Speech Docker containers with voice cloning, TTS generation, and real-time monitoring.
Open Audio Orchestrator runs locally on Windows or Linux and manages Fish Speech Docker containers via Docker Desktop (Windows) or Docker CE (Linux). It provides a web interface for deploying TTS models, managing a voice reference library, generating speech via a background job queue, and monitoring container health and GPU metrics in real time.
docker exec curl, surviving app restarts; on recovery, completed files are detected automaticallyPlatform-specific setup instructions:
docs/WINDOWS-SETUP.mddocs/LINUX-SETUP.md (Debian/Ubuntu, RHEL/Fedora, Alpine)git clone https://github.com/bilbospocketses/oao.git
cd oao
dotnet run --project src/oao.Web -c Release
Navigate to http://localhost:5206 and complete the 7-step setup wizard. After setup, restart the app and log in with your admin credentials. See the platform setup guides above for detailed instructions.
server-cuda-v2.0.0-beta Docker image (the latest server-cuda tag has a torchaudio compatibility issue)--half) is enabled by default and recommended for cards with 20 GB VRAM or lessMost settings are configured automatically by the setup wizard. The app auto-detects your platform and applies appropriate defaults. For advanced use or manual changes, edit src/oao.Web/appsettings.json:
| Key | Description |
|---|---|
ConnectionStrings:Default | SQLite database path |
oao:DockerEndpoint | Docker API endpoint |
oao:DataRoot | Root directory for data files |
oao:PortRange:Start | Start of container port range (default: 9001) |
oao:PortRange:End | End of container port range (default: 9099) |
oao:DefaultImageTag | Default Fish Speech Docker image |
oao:DockerNetworkName | Docker bridge network name (default: oao-network) |
oao:HealthCheckIntervalSeconds | Health check frequency in seconds (default: 30) |
oao:Domain | FQDN for Let's Encrypt (blank = localhost) |
oao:DatabaseKey | SQLCipher encryption key (Data Protection encrypted) |
oao:AdminUser | Seed admin username (env var override) |
oao:AdminPassword | Seed admin password (env var override) |
Acme:AcceptTermsOfService | Accept Let's Encrypt terms (default: true) |
Acme:DomainNames | Domain names for certificate |
Acme:EmailAddress | Email for certificate renewal notices |
For automated deployments, set oao__AdminUser and oao__AdminPassword as environment variables to seed the admin account on first run (TOTP setup required on first login).
Design specifications are in docs/superpowers/specs/.
# Build
dotnet build
# Run in development mode
dotnet run --project src/oao.Web
# Add an EF Core migration
cd src/oao.Web
dotnet ef migrations add <MigrationName>
script-src 'unsafe-inline' requirement (audit finding SEC-03) with a stricter nonce- or hash-based CSPThis product includes Fish Audio Materials developed by Fish Audio. Copyright (c) 2026 Fish Audio. All Rights Reserved.
Built with Fish Audio. The Fish Audio S2 Pro models are for non-commercial research use only. Commercial use requires a separate license from Fish Audio. See the Fish Audio Research License for details.
This project is licensed under the GNU General Public License v3.0 — see the LICENSE file for details.
See NOTICE for third-party attribution requirements.