Sloprock Plus is a self-hosted guitar practice app that runs in your browser. Load your song library, follow along on a scrolling note highway, slow sections down, loop tricky parts, and track your progress — no internet required after setup.
![]() |
![]() |
![]() |
![]() |
- Get Started
- What You Can Do
- Companion App — VST Support
- Coming Soon
- Settings
- Self-Hosting
- Reporting a Bug
- Tech Stack
- License
You need Docker installed — that's it.
git clone https://github.com/johncoco12/SlopRock-Plus
cd sloprock-plus
docker compose up -dThen open http://localhost:8006 in your browser.
Everything runs locally on your machine. Nothing is sent to the cloud.
Find songs fast — browse by artist or album, filter by tuning or arrangement type, sort by year or recently added, and heart-mark your favorites. Edit song info and cover art directly in the app. Handles libraries of 80,000+ songs without slowing down.
Songs scroll through a note highway in real time — just like Guitar Hero or REDACTED. Two visual styles are available: a 3D highway (beta) with lighting and depth, or a classic 2D highway for older devices.
All standard guitar techniques are shown on screen — bends, slides, hammer-ons, pull-offs, palm mutes, harmonics, and more. Lyrics scroll in sync if the song includes them.
The mic listens while you play and highlights notes as you hit them correctly.
- Slow it down — speed slider from 25% to 150%
- Loop any section — set a start and end point to repeat a tricky passage
- Swap arrangements mid-song between Lead, Rhythm, and Bass
Set up separate profiles for different users — each with their own settings, saved loops, and scores. Profiles can be protected with a PIN. Admin and regular-user access levels are supported.
Pick from 9 built-in color themes or install plugins to add extra features. Plugins that ship with the app include a leaderboard for tracking scores and additional song format support.
SlopAudio Connect is a small desktop app you install alongside Sloprock. It gives the browser app direct access to your audio interface, enabling VST amp sims and low-latency pitch detection — things a browser alone can't do.
Download: github.com/johncoco12/SlopAudio-Connect
| Feature | Status |
|---|---|
| Saved practice loops (named, per-song) | Planned |
| Metronome count-in before loops | Planned |
| Smooth rewind to loop start | Planned |
| Import Guitar Pro tabs and convert to playable songs | In development |
Most options live inside the app under Settings. You can change your song folder, default arrangement, and more without touching any config files.
For server-level options (useful when running behind a reverse proxy or on a home server), edit the environment variables in docker-compose.yml:
| Variable | What it does |
|---|---|
SAC_SERVER_NAME |
The name shown to SlopAudio Connect on your local network |
SAC_SERVER_IP |
Override the IP address advertised to the companion app — helpful if auto-detection picks a VPN or Docker address instead of your real one |
SAC_HTTP_PORT |
The port advertised to the companion app — set this if a reverse proxy changes the port |
LOG_LEVEL |
How much detail appears in server logs (info is the default; use debug for troubleshooting) |
The docker-compose.yml in this repo is ready to use as-is. To run it:
docker compose up -dTo change ports or passwords, open docker-compose.yml in a text editor and adjust the values before starting.
What gets started:
| Port | Purpose | |
|---|---|---|
| App (browser) | 8006 |
The main interface you open in your browser |
| Backend | 8085 |
API and real-time updates |
| Database | 5432 |
Stores your song library |
| File storage | 9000 |
Stores cover art and audio files |
| Storage admin | 9001 |
MinIO dashboard (advanced) |
Use this if you want Sloprock available at a custom domain on an existing web server.
sudo a2enmod proxy proxy_http proxy_wstunnel
sudo systemctl restart apache2Add to your virtual host config:
ProxyPass /sloprock/ http://localhost:8006/
ProxyPassReverse /sloprock/ http://localhost:8006/
ProxyPass /api/ http://localhost:8085/api/
ProxyPassReverse /api/ http://localhost:8085/api/
ProxyPass /ws ws://localhost:8085/ws
ProxyPass /static/ http://localhost:8085/static/
ProxyPassReverse /static/ http://localhost:8085/static/
ProxyPass /audio/ http://localhost:8085/audio/
ProxyPassReverse /audio/ http://localhost:8085/audio/Sloprock expects to live at the root of a domain. A dedicated subdomain like
sloprock.your-domain.comavoids conflicts with other sites.
Portainer is a visual dashboard for managing Docker on a home server — a good choice if you're not comfortable with the command line.
1. Install Docker
sudo apt update && sudo apt install docker.io -y
sudo usermod -aG docker $USER2. Install Portainer
docker run -d -p 8888:9000 --restart always \
-v /var/run/docker.sock:/var/run/docker.sock \
portainer/portainer-ce:latest3. Open http://server-ip:8888 and create your admin account.
4. Create a new Stack and paste in the contents of docker-compose.yml.
5. Access Sloprock at http://server-ip:8006.
6. Install recommended plugins from Settings → Plugins:
- NAM Tone Engine — connects your guitar/audio interface. Amp models available at tone3000.com
- Note Detection — enables real-time pitch detection while you play
Go to Settings → Diagnostics → Export Diagnostics. This creates a zip file with logs, hardware info, and browser errors — everything needed to reproduce the issue. Attach it when opening a GitHub issue.
| Layer | Technology |
|---|---|
| Frontend | Vue 3 · TypeScript · Three.js · TresJS · Pinia · Tailwind CSS |
| Backend | Node.js 20 · Fastify · TypeScript · Prisma ORM |
| Database | PostgreSQL 16 |
| Object Storage | MinIO (S3-compatible) |
| Real-time | WebSocket |
| Note Detection | YIN algorithm → WASM |
| Audio Processing | FFmpeg · FluidSynth · vgmstream · rubberband |
| Container | Docker · Docker Compose |
Sloprock Plus is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-only).
Free to use, modify, and self-host. If you distribute or publicly host a modified version, you must release the source under the same license. See CONTRIBUTING.md for contributor terms.





