Skip to content

Deploying Stretto

Introduction

Stretto is a self-hosted music streaming server that implements the Subsonic API, allowing you to stream your personal music collection from anywhere. Built as a modern alternative to traditional Subsonic servers, Stretto provides a clean web interface and compatibility with a wide ecosystem of Subsonic-compatible mobile and desktop applications.

Key highlights of Stretto:

  • Subsonic API Compatibility: Works with popular Subsonic clients like DSub, Ultrasonic, and Submariner
  • Modern Web Interface: Stream music directly from your browser with an intuitive player
  • Library Scanning: Automatically indexes your music files and extracts metadata
  • Transcoding Support: On-the-fly audio transcoding for bandwidth optimization
  • Multi-User Support: Create accounts for family members and friends
  • Playlist Management: Create, edit, and share playlists across devices
  • Album Art: Automatic cover art fetching and display
  • Lightweight: Minimal resource requirements for self-hosting

This guide walks through deploying Stretto on Klutch.sh using Docker, configuring persistent storage for your music library, and setting up the application for production use.

Why Deploy Stretto on Klutch.sh

Deploying Stretto on Klutch.sh provides several advantages for streaming your music collection:

Simplified Deployment: Klutch.sh automatically detects your Dockerfile and builds Stretto without complex orchestration. Push to GitHub, and your music server deploys automatically.

Persistent Storage: Attach persistent volumes for your music library, database, and configuration. Your collection and settings survive container restarts without data loss.

HTTPS by Default: Klutch.sh provides automatic SSL certificates, ensuring secure access to your music from anywhere without manual certificate management.

GitHub Integration: Connect your configuration repository directly from GitHub. Updates trigger automatic redeployments.

Custom Domains: Assign a custom domain to your Stretto instance for easy access across all your devices.

Prerequisites

Before deploying Stretto on Klutch.sh, ensure you have:

  • A Klutch.sh account
  • A GitHub account with a repository for your Stretto configuration
  • Basic familiarity with Docker and containerization concepts
  • Your music library files ready to upload

Deploying Stretto on Klutch.sh

    Create Your Repository

    Create a new GitHub repository with a Dockerfile for Stretto:

    FROM ghcr.io/stretto-team/stretto:latest
    ENV PUID=1000
    ENV PGID=1000
    EXPOSE 4040
    VOLUME ["/music", "/data"]

    Push to GitHub

    Initialize and push your repository to GitHub with your Dockerfile and configuration files.

    Create a New Project on Klutch.sh

    Navigate to the Klutch.sh dashboard and create a new project. Give it a descriptive name like “stretto” or “music-server”.

    Create a New App

    Within your project, create a new app. Connect your GitHub account if you haven’t already, then select the repository containing your Stretto Dockerfile.

    Configure HTTP Traffic

    In the deployment settings:

    • Select HTTP as the traffic type
    • Set the internal port to 4040

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    PUID1000
    PGID1000

    Attach Persistent Volumes

    Add the following volumes:

    Mount PathRecommended SizePurpose
    /data5 GBDatabase and configuration
    /music100+ GBYour music library

    Deploy Your Application

    Click Deploy to start the build process. Klutch.sh will build and deploy your Stretto instance.

    Access Stretto

    Once deployment completes, access your Stretto instance at your app URL. Create your admin account on first access.

Configuration

Adding Your Music Library

Upload your music files to the /music volume. Stretto will automatically scan and index the files, extracting metadata from ID3 tags.

Connecting Mobile Apps

Use any Subsonic-compatible app with your Stretto server URL. Popular options include:

  • DSub (Android)
  • Ultrasonic (Android)
  • Submariner (macOS)
  • play:Sub (iOS)

Additional Resources

Conclusion

Deploying Stretto on Klutch.sh gives you a powerful, self-hosted music streaming server with automatic builds, persistent storage, and secure HTTPS access. Stream your personal music collection from anywhere using the web interface or any Subsonic-compatible app.