当前位置: 首页 > 软件库 > 数据库相关 > >

cloudtunes

授权协议 View license
开发语言 Python
所属分类 数据库相关
软件类型 开源软件
地区 不详
投 递 者 西门展
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

CloudTunes

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

CloudTunes provides a unified interfacefor music stored in the cloud (YouTube, Dropbox, etc.) and integrates withLast.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.

The Story

CloudTunes is a side project of@jakubroztocil who is a bit of amusic nerd and who likes tobuild stuff. In 2012 he decidedto create an iTunes-like webapp to make music stored all over the cloudeasily 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 pressingprojects. 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 aredecoupled 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.

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

Dropbox Integration

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

Playlists

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

Last.fm Support

Scrobble and play your personalised recommendations.

Notifications

Settings

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 isolatedDocker container. Like this,the only thing you need to install directly on your system is Docker(or boot2docker) itself.

Please follow theinstallation instructionson how to install Docker (or boot2docker) on your system. Then follow thesteps bellow:

  1. Build a Docker image according to our Dockerfileand name it cloudtunes-img. This takes a long time the first timeit'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-imgimage 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 fullURL will simply be: http://localhost:8000/
  • If you have used boot2docker, then run $ boot2docker ipto 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 andwant them to be applied to the container, or if you simply wish to startfrom scratch again, run the following commands to delete theexisting 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