Your sound. Your stream. Your rules.
A modern, full-stack music streaming application inspired by Spotify, built with cutting-edge technologies.
Streamletz is a self-hosted music streaming platform that gives you complete control over your listening experience. Stream your favorite tracks, discover new music, and enjoy a seamless audio experience with a modern, intuitive interface.
Important: This application is designed for personal, private use only. It allows you to stream your own music collection that you legally own.
Legal Notice: Users are responsible for ensuring they have the legal rights to stream any music files they add to their library. This software is provided for personal use only and should not be used to infringe on copyright laws.
Clone the repository:
git clone https://github.com/rol2005hun/Streamletz.git
cd Streamletz
Create environment file:
cp .env.example .env
# Edit .env with your configuration (database credentials, JWT secret, etc.)
Create music directory:
mkdir -p backend/music
Start all services:
docker-compose up -d
Access the application:
# Create PostgreSQL database
psql -U postgres
CREATE DATABASE streamletz;
CREATE USER streamletz_user WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE streamletz TO streamletz_user;
\q
cd backend
# Install dependencies
mvn clean install
# Run the application
mvn spring-boot:run
# Backend will be available at http://localhost:8080
cd frontend
# Install dependencies
npm install
# Run development server
npm run dev
# Frontend will be available at http://localhost:5173
Place your music files (.mp3, .flac, .wav, etc.) in backend/music/ directory. The application will automatically scan and index them on startup.
Streamletz/
โโโ backend/ # Spring Boot backend
โ โโโ src/
โ โ โโโ main/
โ โ โโโ java/
โ โ โ โโโ com/streamletz/
โ โ โ โโโ controller/
โ โ โ โโโ service/
โ โ โ โโโ repository/
โ โ โ โโโ model/
โ โ โ โโโ config/
โ โ โ โโโ util/
โ โ โโโ resources/
โ โโโ Dockerfile
โ โโโ pom.xml
โโโ frontend/ # Svelte frontend
โ โโโ src/
โ โ โโโ components/
โ โ โโโ pages/
โ โ โโโ styles/
โ โ โโโ lib/
โ โโโ Dockerfile
โ โโโ package.json
โโโ .github/
โ โโโ workflows/
โ โโโ ci-cd.yml
โโโ docker-compose.yml
โโโ .env.example
โโโ README.md
Create a .env file in the root directory (see .env.example for reference):
# Database
DATABASE_URL=jdbc:postgresql://localhost:5432/streamletz
DATABASE_USERNAME=streamletz_user
DATABASE_PASSWORD=your_password
# Backend
JWT_SECRET=your-super-secret-jwt-key-change-in-production
MUSIC_STORAGE_PATH=./music
# Frontend
VITE_API_BASE_URL=http://localhost:8080/api
application.properties)Key settings:
spring.datasource.* - Database connectionjwt.secret - JWT signing keyjwt.expiration - Token validity (default: 86400000ms = 24h)music.storage.path - Music files locationserver.port - Backend port (default: 8080)The project is containerized and ready for self-hosted deployment on your own server or local network.
Local Network (Recommended for Personal Use)
Private VPS/Cloud Server
โ ๏ธ Important Security Notes:
# Build images
docker-compose build
# Deploy
docker-compose up -d
For Personal/Private Use Only:
NOT Recommended for Public Deployment:
Once the backend is running, visit the Swagger UI for interactive API documentation:
http://localhost:8080/swagger-ui.html
POST /api/auth/register - Register new userPOST /api/auth/login - Login and receive JWT tokenGET /api/tracks - Get all tracksGET /api/tracks/{id} - Get track by IDGET /api/tracks/search?query={q} - Search tracksGET /api/tracks/stream/{id} - Stream audio filePOST /api/tracks/{id}/play - Increment play countContributions are welcome! Please check out our Contributing Guidelines for details.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
This software is for personal, self-hosted use only.
The developers of Streamletz are not responsible for any copyright infringement or illegal use of this software.
rol2005hun
Your sound. Your stream. Your rules. ๐ต
Your sound. Your stream. Your rules.
Made with โค๏ธ using Svelte and Spring Boot