uWave is a Self-hosted collaborative listening platform. Users take turns playing media—songs, talks, gameplay videos, or anything else—from a variety of media sources like YouTube and SoundCloud.
Deploy this app to Linode with a free $100 credit!
Depends on a proprietary service outside the user's control
Website - Server List -
The backend server for üWave, the collaborative listening platform.
Dependencies - Development - API - License
üWave consists of two parts: the server (this repository) and the web client. The server on its own only provides an HTTP API, so you must also run the web client to actually use it.
üWave requires MongoDB and Redis databases.
üWave comes with an executable file that includes YouTube and SoundCloud
support by default. The server can be configured with environment variables.
You must provide a YOUTUBE_API_KEY
to use YouTube. SoundCloud works
without API keys.
If you need more configuration options, your only option is to use the Node.js API of this package, and write your own server entry point. Over time more options will be made available through the CLI.
npx u-wave-core
Environment Variables:
- SECRET
- A secret key used for encrypting passwords. Must be a 64-character
hexadecimal string (= 256 bits).
- PORT
- Port to listen on. Defaults to 6042.
- REDIS_URL
- URL of the Redis instance to connect to. Defaults to
redis://localhost:6379/
.
- MONGODB_URL
- URL of the MongoDB database to use. Defaults to
mongodb://localhost:27017/uwave
.
- YOUTUBE_API_KEY
(optional) - Your YouTube Data API key.
The server can be run in development mode by:
git clone https://github.com/u-wave/core u-wave-core
cd u-wave-core
npm install
npm start
The development server reads configuration from a .env
file in the root
of the repository.
# Database connection URLs.
REDIS_URL=redis://localhost:6379/
MONGODB_URL=mongodb://localhost:27017/uwave_dev
# Enables the YouTube media source if given.
YOUTUBE_API_KEY=your key
You only need to use the API if you are integrating the üWave library with your own app.
API documentation is very incomplete and might change a lot before 1.0.0. Take care!
See the example/ directory for a usage example.
Create and start a üWave server.
Parameters
mongo
- A MongoDB connection URL.redis
- A Redis connection URL.Add a media source plugin. Source plugins can be used to search and import media from remote sources like YouTube or SoundCloud. Existing source plugins can be found on npm with the u-wave-source keyword.
Parameters
sourcePlugin
- Source plugin or plugin factory. Receives two parameters:
The uw
üWave Core instance, and the plugin options.options
- Options to pass to the source plugin.Stops the üWave server.
Please login to review this project.
No reviews for this project yet.
Rygel is a UPnP AV MediaServer that allows you to easily sh…
Simple media server software, with the aim of being fully c…
Allows you to download videos and audio from any source sup…
Comments (0)
Please login to join the discussion on this project.