All Projects → jakubroztocil → Cloudtunes

jakubroztocil / Cloudtunes

Licence: other
Web-based music player for the cloud ☁️ 🎶 Play music from YouTube, Dropbox, etc.

Programming Languages

python
139335 projects - #7 most used programming language
coffeescript
4710 projects
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to Cloudtunes

Tauonmusicbox
The Linux desktop music player from the future! 🌆
Stars: ✭ 494 (-79.83%)
Mutual labels:  music, music-player, lastfm, musicbrainz
Strawberry
🍓 Strawberry Music Player
Stars: ✭ 972 (-60.31%)
Mutual labels:  music, music-player, lastfm, musicbrainz
Raveberry
A multi-user music server with a focus on participation
Stars: ✭ 442 (-81.95%)
Mutual labels:  music, music-player, youtube
Treefrog Framework
TreeFrog Framework : High-speed C++ MVC Framework for Web Application
Stars: ✭ 885 (-63.86%)
Mutual labels:  redis, mongodb, websocket
Docker Vue Node Nginx Mongodb Redis
🐉 An awesome boilerplate, Integrated Docker, Vue, Node, Nginx, Mongodb and Redis in one, Designed to develop & build your web applications more efficient and elegant.
Stars: ✭ 34 (-98.61%)
Mutual labels:  redis, mongodb, webapp
Openwhyd
💎 Like Pinterest, for Music
Stars: ✭ 287 (-88.28%)
Mutual labels:  music, music-player, youtube
Youtube Music
YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
Stars: ✭ 376 (-84.65%)
Mutual labels:  music, music-player, youtube
Nuclear
Streaming music player that finds free music for you
Stars: ✭ 7,133 (+191.26%)
Mutual labels:  music, music-player, youtube
Kaku
🎧 Kaku is a highly integrated music player supports different online platform like YouTube, SoundCloud, Vimeo and more. Available on Mac, Windows and Linux.
Stars: ✭ 1,028 (-58.02%)
Mutual labels:  music, music-player, youtube
Musictube Player
MusicTube Player is an electron desktop application for YouTube Music, with media key support & desktop notifications.
Stars: ✭ 90 (-96.33%)
Mutual labels:  music, music-player, youtube
Ytmdesktop
A Desktop App for YouTube Music
Stars: ✭ 1,297 (-47.04%)
Mutual labels:  music, music-player, youtube
Spring Boot Demo
Spring Boot & Spring Cloud & Spring Security Demo Case(Spring学习示例实战项目)
Stars: ✭ 255 (-89.59%)
Mutual labels:  redis, mongodb, websocket
Spring Dubbo Service
微服务 spring dubbo项目:dubbo rpc;druid数据源连接池;mybatis配置集成,多数据源;jmx监控MBean;定时任务;aop;ftp;测试;Metrics监控;参数验证;跨域处理;shiro权限控制;consul服务注册,发现;redis分布式锁;SPI服务机制;cat监控;netty服务代理;websocket;disconf;mongodb集成;rest;docker;fescar
Stars: ✭ 224 (-90.85%)
Mutual labels:  redis, mongodb, websocket
Spring Samples For All
spring、spring-boot、spring-cloud 常用整合用例
Stars: ✭ 401 (-83.63%)
Mutual labels:  redis, mongodb, websocket
Swift Radio Pro
Professional Radio Station App for iOS!
Stars: ✭ 2,644 (+7.96%)
Mutual labels:  music, music-player, lastfm
Butterfly Server
The Everything is Real-Time C# Backend for Single Page Applications
Stars: ✭ 247 (-89.91%)
Mutual labels:  websocket, webapp, spa
Vue Soundcloud
🎧 A SoundCloud client built with Vue and Nuxt
Stars: ✭ 141 (-94.24%)
Mutual labels:  music, music-player, spa
Last Fm
Simple, robust LastFM API client (for public data)
Stars: ✭ 142 (-94.2%)
Mutual labels:  music, lastfm, musicbrainz
Spring Boot Leaning
Spring Boot 2.X 最全课程代码
Stars: ✭ 2,008 (-18.01%)
Mutual labels:  redis, mongodb, websocket
Youtube Mp3 Downloader
Extract music from YouTube videos
Stars: ✭ 187 (-92.36%)
Mutual labels:  music, youtube

CloudTunes

Open source, web-based music player for the cloud.
Also on: FacebookTwitterHacker NewsLifehacker

screenshot

CloudTunes provides a unified interface for music stored in the cloud (YouTube, Dropbox, etc.) and integrates with Last.fm, Facebook, and Musicbrainz for metadata, discovery, and social experience. It is similar to services like Spotify, except instead of local tracks and the fixed Spotify catalog, CloudTunes uses your files stored in Dropbox and music videos on YouTube.

screenshot screenshot screenshot

The Story

CloudTunes is a side project of @jakubroztocil who is a bit of a music nerd and who likes to build stuff. In 2012 he decided to create an iTunes-like webapp to make music stored all over the cloud easily discoverable and accessible: hence CloudTunes.

Another one of the goals was to experiment with a bunch of new technologies. Later, this side-project was largely abandoned due to other more pressing projects. In the autumn of 2014, CloudTunes was open-sourced "as is" (i.e. alpha quality, lack of polish, tests and docs).

Technology

The architecture consists of a server and client component. Those two are decoupled and communicate via a JSON REST API and a WebSocket connection:

cloudtunes-server

Web and WebSocket server, worker processes. Written in Python, uses Tornado, Celery, Mongo DB, MongoEngine, Redis.

cloudtunes-webapp

Single-page app. Written in CoffeeScript and Sass, uses Brunch, Backbone.js, SocketIO, Handlebars, Compass, SoundManager.

Features

Discographies & Entire Albums

Find and stream entire albums from YouTube.

screenshot screenshot screenshot screenshot

Any album or track you like can be added to your collection or any of your playlists.

screenshot

Dropbox Integration

Access and stream music that you already have in Dropbox from any computer. Fast indexing and realtime updates.

screenshot

screenshot

Playlists

Organise your collection with playlists. Drag and drop tracks and albums on a playlist to add them. You can create playlists containing both tracks from your Dropbox and music videos from YouTube.

screenshot screenshot

Last.fm Support

Scrobble and play your personalised recommendations.

screenshot screenshot

Notifications

Notifications Notifications Notifications

Settings

Notifications

Miscellaneous

  • Drag and drop
  • Keyboard shortcuts
  • Browse view
  • Sorting, resizing
  • Support for 10s of 1000s of tracks in collection

Installation

  1. Clone this repository:
$ git clone https://github.com/jakubroztocil/cloudtunes.git
$ cd cloudtunes
  1. Use cloudtunes-server/cloudtunes/settings/local.example.py as a template and fill in the None's:
$ cp  cloudtunes-server/cloudtunes/settings/local.example.py cloudtunes-server/cloudtunes/settings/local.py
$ vim cloudtunes-server/cloudtunes/settings/local.py
  1. Decide whether to continue with or without Docker and follow the specific instructions below.

Without Docker

Continue by following the instructions in:

With Docker

The easiest way to run CloudTunes is in an isolated Docker container. Like this, the only thing you need to install directly on your system is Docker (or boot2docker) itself.

Please follow the installation instructions on how to install Docker (or boot2docker) on your system. Then follow the steps bellow:

  1. Build a Docker image according to our Dockerfile and name it cloudtunes-img. This takes a long time the first time it's run:
$ docker build --tag=cloudtunes-img .
  1. Verify that the image has been created:
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
cloudtunes-img      latest              e1bcb48ab148        About an hour ago   995.1 MB
  1. Create a new container named cloudtunes from the cloudtunes-img image and run the app in it:
$ docker run --name=cloudtunes --publish=8000:8000  --detach --tty cloudtunes-img
  1. Verify the container is running:
$ docker ps
CONTAINER ID        IMAGE                   COMMAND                CREATED             STATUS              PORTS                    NAMES
564cc245e6dd        cloudtunes-img:latest   "supervisord --nodae   52 minutes ago      Up 2 minutes        0.0.0.0:8000->8000/tcp   cloudtunes
  1. Now CloudTunes should be running in the Docker container on port 8000. The full URL depends on the method you used to install Docker:
  • If you have installed Docker directly on your system, the full URL will simply be: http://localhost:8000/
  • If you have used boot2docker, then run $ boot2docker ip to find out the IP address under which the app is available, and the full URL will be http://<boot2docker IP>:8000/

To stop the app (Docker container), run:

$ docker stop cloudtunes

To start it again, run:

$ docker start cloudtunes

All user data (stored by MongoDB and Redis under /data) will persist until the container has been deleted.

After you have made any changes to the codebase or configuration and want them to be applied to the container, or if you simply wish to start from scratch again, run the following commands to delete the existing container (this will also delete all user data in it):

$ docker stop cloudtunes
$ docker rm cloudtunes

And then start again from step 1. above (it should go much faster this time).

License

BSD. See LICENSE for more details.

Contact

Jakub Roztočil

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].