Git Product home page Git Product logo

10er10's Introduction

10er10 is an HTML5 audio jukebox. It works on Firefox 4+ and Chromium/Chrome.

Important change for 1.0 version

The storage database has been changed from CouchDB to MongoDB. Please read the migration documentation to update.

Install

Install servers

Minimum required version : 4.0.0

  • Node.js : install node.js ( http://nodejs.org ) from source or with your package manager.

Minimum required version : 10.0.0

Don't forget to add the node binary's folder to the path of the Unix user which will run 10er10.

Debian squeeze users, using the nodejs deb package : you should create a symlink from /usr/lib/nodejs to /usr/lib/node for connect to work.

Install audio utilities

10er10 website allows you to upload flac, mp3, m4a and ogg audio files. Flac, mp3 and m4a files will be converted on the fly to ogg.

  • install lame executable : it's certainly is available from your distribution packages

  • install oggenc executable : it's certainly is available from your distribution packages

  • install ogginfo executable : it's certainly available from your distribution packages

  • install vorbiscomment executable : it's certainly available from your distribution packages

  • install flac executable : it's certainly available from your distribution packages

  • install faad executable : it's certainly available from your distribution packages

Install graphics utilities

10er10 website allows you to upload images related to songs (eg. album artwork).

  • install GraphicsMagick executables : it's certainly available from your distribution packages

About 10er10 running environments

10er10 got two distinct environments : dev and prod. The main difference is that, in the prod environment, all static files are cached by the node.js server (so they are read only once from the filesystem).

10er10 dev HTTP port is 8888. 10er10 prod HTTP port is 8124.

Install 10er10 files & required node modules

Unzip/tar your 10er10 download.

cd to the 10er10 root directory (the one that contains the audio, node and views folders).

  • node modules : install required node packages :

      npm install
    

You should now have a new node_modules folder at the same level as the "audio", "node" and "views" folders.

Configure 10er10

Beginning from 0.6, the preferred way to tweak the configuration is to create a new file node/config.local.js and put the settings you want to overwrite.

Example : if you need to set the path where audio file are stored to /some/where/on/the/disk, open node/config.local.js and define the variable inside: like :

exports.audio = { dir: "/some/where/on/the/disk" };

Doing this, your configuration will be kept when you upgrade your 10er10 server.

Open node/config.js

  • setup your databases configuration

10er10 uses 1 MongoDB database. Look at exports.mongo_prod and exports.mongo_dev objects, and be sure to point the DSN to your MongoDB server. Database and collections will be created by the installer.

  • configure audio path

10er10 needs two distinct folders to store audio files:

  • exports.audio.tmpdir : the temporary folder is where the uploaded files are stored
  • exports.audio.dir : this is where the ogg files are stored.

Of course, those two folders should be writable by the unix user that will launch the node server.

  • configure images path

10er10 needs two distinct folders to store images:

  • exports.images.tmpdir : the temporary folder is where the uploaded files are stored (could be the same than exports.audio.tmpdir)
  • exports.images.dir : this is where the images are stored.
  • about audio URI

exports.audio_root is used by the browser to know where is the path to the audio files. If your 10er10 root is "/", then the audio_root is "/audio". If your 10er10 root is "/somewhere/10er10", set audio_root to "/somewhere/10er10/audio". You can also set the complete URL ( eg http://my.domain.com/10er10/audio ). Unless you're behind a reverse proxy and you know what you're doing, don't change this setting.

  • configure Unix utilities

Look at exports.cmds.

  • exports.cmds.lame : the path to the lame executable
  • exports.cmds.oggenc : the path to the oggenc executable
  • exports.cmds.ogginfo : the path to the ogginfo executable
  • exports.cmds.vorbiscomment : the path to the vorbiscomment executable
  • exports.cmds.flac : the path to the flac executable
  • exports.cmds.faad : the path to the faad executable

Still here ? Let's go for the fun part.

Create a 10er10 user

Go into the node/admin directory and run the d10-createUser.js script.

The password should be hard enough, or the account won't be created. (at least 8 characters, at least 4 distinct characters).

Won't work :

test
xxxxxxxx

To create a user on dev install :

cd node/admin
node d10-createUser.js login thepassword

To create a user on prod install :

cd node/admin
node d10-createUser.js login thepassword -p

Launch the server

Go into the node directory and run the server.js script :

To launch the dev instance :

cd node
node server.js

To launch the prod instance :

cd node
node server.js -p

You can fire you browser and go to http://[your server]:8888/ if you launched the dev instance, http://[your server]:8124/ if you launched the prod server.

Bonus: Configure your invites server

You want to send some friends an email so they can create an account on your 10er10 server and start using the application ? The doc folder contains a file to help you configure invites server.

What else ?

Fork, patch, send pull requests !

10er10's People

Contributors

beudbeud avatar dready92 avatar lsc-linagora avatar michaelbailly avatar sonnyp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

10er10's Issues

can't start the server.

Hey everybody.

First, your project is somethings i wait since a long time. (with html5 and node.js ! great !!!).
continue in this way !

Second,
when i run the command : node server.js

i have this :

node server.js 
Bypass :  true
Database binding: http://localhost:5984//d10-test2
create localPathServer for  /js
Bypass :  true
create localPathServer for  /css
Bypass :  true
create localPathServer for  /audio
Bypass :  true
create localPathServer for  /audioImages
Bypass :  false
create localPathServer for  /static
Bypass :  false
Production :  undefined

but i can't see the webpage. I don't know what is the last var "/static" ? Perhaps i install it with the wrong way !
my server is running Ubuntu 10.10 and has a lamp that works.

Thanks for the help if you can.

Recursive audio directory

The setting for "exports.audio" is the directory where audio files are located, however it seems that it must contain the files directly and not in sub directories.

This efficiently prevents any kind of structured storage of the audio and makes it impossible to use existing locations (which most likely won't contain all files in one place).

Request: Make file adding recursive, though not forced, but optionally (and perhaps even limit the depth of content structure to scan if feeling daring).

Ajout pochette

Salut, est ce qu'il serait possible de pouvoir ajouter les pochette depuis les pages :

  • Album > pochettes
  • Artiste > liste des albums de l’artiste

Merci d'avance

Import Local Folder

Hi guys, just installed and tried your webapp. Thanks for the great work ! Merci Beaucoup pour l'excellent travail !
So it's not really an issue, but is there a way to import a local folder on the server to begin feeding your local database ?

Files with non-ASCII characters in tags

Whenever I try to upload (MP3) files with non-ASCII stuff within their ID3 tags, it ends up with a crude "Service Unavailable" on the upload page.

It might be related to taginfo, but I don't know where to look for answers.

Ajout du support des touches multimedia

Est ce qu'il serait possible d'ajouter la possibilité de pouvoir controler 10er10 avec les touches multimedia (pause, lecture morceau suivant et précédent ) du claviers.

localhost:5984/ unreachable

Bonjour,

Je me permet de parler en français ...

J'essaye d'installer 10er10 mais je n'y arrive pas ;-(
Quand je lance l'install, il m'envoie bouler en me disant

Setting up 10er10 DEV environment
Hit [Ctrl]-C to abort or wait 5 seconds
localhost:5984/ is unreachable
Configured CouchDB Server unreachable error :
localhost:5984/ unreachable
stop configuration checks
stop installation process

Pourtant j'arrive à accéder dans mon naviguateur à http://localhost:5984 ...

J'utilise ubuntu 11.04 et couchdb en version 1.0.1 (version des dépots)

Une idée/conseil ?

Merci

PS : Dans le readme il y a un "Install granphics utilities" je suppose que c'est plutôt "Install graphics utilities"

A+

Ajout lien

bonjour,
est ce qu'il serait possible d'ajouter un lien vers la page d’accueil quand on clic sur le logo de 10er10

Ajout depuis un dossier

Est ce que tu peux me transmettre les appel qui faut faire pour ajouter de la musique dans la base de 10er10 que je fasse un script pour l'ajout depuis un répertoire.

Merci

Not optimised for mobile

The interface is not optimised for mobile devices, such as Firefox Mobile on my HTC Desire.

While it works great,

  • A different style should be used on these devices
  • I am not sure that wether or not the drag-and-drop system is optimal for uploads

modification TAG

Est ce qu'il serait possible de pouvoir modifier les information d'une musique depuis le catalogue si la musique nous appartient car la page mon espace n'est pas super user friendly :)

Stuck on Loading Interface

Bonjour,
comme utodeb, je me permet de parler en français.

D'abord, merci pour ce projet, c'est une excellente initiative!
J'ai réussi à installer 10er10 sur mon serveur, mais lorsque que j'essaie de me connecter coté client (http://192.168.1.101:8888/), après m'être loggé la page reste noire avec l'inscription "Loading interface" au milieu.

Voici une partie de la sortie coté serveur (Je précise que celle-ci s'affiche en texte dans mon terminal) :
"
Bypass : true
Database binding: http://localhost:5984//d10-test2
create localPathServer for /js
Bypass : true
create localPathServer for /css
Bypass : true
create localPathServer for /audio
Bypass : true
create localPathServer for /static
Bypass : false
Production : undefined
debug /: xxxx is now logged
debug got a username & password : try to find uid with username
debug checking login infos
debug checking login infos : response
debug user 32jgeg82n6og3a2sopnio should be logged
session id : 2gsue4hrq9jvc1momj1h
debug session recorded : { _id: 'se2gsue4hrq9jvc1momj1h',
userid: '32jgeg82n6og3a2sopnio',
ts_creation: 1305654463323,
ts_last_usage: 1305654463323,
_rev: '1-3c336ce10875bff24e21eb0047c398f3' }
debug deleting session se27fk7v439pat5h3kc8lnl
debug LOGGED
view
{} [Function]
view
{} [Function]
view
{} [Function]
view
{} [Function]
view
{} [Function]
session deleted se27fk7v439pat5h3kc8lnl
debug sessionCache delete for david
view
{ scripts:
[ 'modernizr-1.6.min.js',
'jquery.sprintf.js',
'jquery.tools.min.js',
...
......
.....
'welcome.js',
'results.js',
'user.js',
'osd.js',
'localcache.js',
'bgtask.js' ],
dbg: 'false',
base_url: '/',
audio_root: '/home/david/Documents/Programmes/dready92-10er10-da22943/audio/',
genres:
[ 'Acapella',
'Acid',
'Acid Jazz',
'Acid Punk',
'Acoustic',
'Alternative',
'Alternative Rock',
'Ambient',
'Anime',
'Avantgarde',
...
.....
.....
'Symphony',
'SynthPop',
'Tango',
'Techno',
'Techno-Industrial',
'Terror',
'Thrash Metal',
'Top 40',
'Trailer',
'Trance',
'Tribal',
'Trip-Hop',
'Vocal' ],
username: 'xxxxx' } { resultsContainer: '

\n
\n\t\n\t\n\t\n 
\n<div c

.....

Choisissez vos morceaux\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\tLe catalogue permet de consulter les morceaux disponibles.\n\t\t\t\t\t\t

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tAccédez au catalogue en cliquant sur l'onglet Catalogue situé dans la barre de menu en haut de la page web.\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t...\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

Upload

\n\t\t\t\t\t\tDans la partie Upload, vous pouvez enregistrer vos fichiers musicaux sur le serveur. Vos fichiers doivent être au format mp3 ou ogg.\n\t\t\t\t\t\t
\n\t\t\t\t\t\tPour envoyer des fichiers, sélectionnez les dans votre explorateur de fichiers et faites les glisser dans la boite !\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t\n\t\n\n' }
192.168.1.100 - - [Tue, 17 May 2011 17:47:43 GMT] "POST / HTTP/1.1" 200 - "" "Mozilla/5.0 (X11; Linux x86_64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"
debug static cache request /css/style.css
192.168.1.100 - - [Tue, 17 May 2011 17:47:43 GMT] "GET /css/style.css HTTP/1.1" 304 - "" "Mozilla/5.0 (X11; Linux x86_64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"
debug static cache request /js/jquery.csstransform.js
debug static cache request /js/jquery.tools.min.js
debug static cache request /js/jquery.sprintf.js
debug static cache request /js/modernizr-1.6.min.js
debug static cache request /js/jquery.js
debug static cache request /js/jquery.ovlay.js "
....

Missing audio folders & subfolders

Great work guys ! It works :-D

Nevertheless, I had some issues to get everything working : The software bugs and does not save tracks correctly if the directory corresponding to "exports.audio.tmpdir" and "exports.audio.dir". It would be great if an error was raised or the folders created automatically.

Would be great to have an empty directory "10er10/audio" with sub-directories "tmp" and "files" for default configuration.

I can't login

After upgrade 0.7 i can't login

debug static cache request /js/httpworker.js
LANG : session storage failed: { statusCode: 409 } undefined

/root/10er10/node/lang.js:124
template = template.toString();
^
TypeError: Cannot call method 'toString' of undefined
at /root/10er10/node/lang.js:124:25
at [object Object]. (fs.js:80:5)
at [object Object].emit (events.js:64:17)
at fs.js:820:12
warn: Forever detected script exited with code: 1
warn: Forever restarting script for 6 time
Bypass : false
Database binding: http://localhost:5984//d10
typeof langs ? boolean
LANG: launching readdir
typeof langs ? boolean
LANG: launching readdir
create localPathServer for /js
Bypass : false
create localPathServer for /css
Bypass : false
create localPathServer for /audio
Bypass : true
create localPathServer for /audioImages
Bypass : false
LANG: loadLangFiles reading directory
LANG: including ../views/10er10.com/lang/en.js
LANG: including ../views/10er10.com/lang/fr.js
create localPathServer for /static
Bypass : false
Production : true
LANG: loadLangFiles reading directory
LANG: including ../views/invites.10er10.com/lang/en.js
LANG: including ../views/invites.10er10.com/lang/fr.js

Manage users & change passwords

First, I’d like to thank you for your great work. It was not simple to install (couchdb, erlang…), but now it works perfectly.

Just a question, and sorry if it is in a documentation somewhere, but I haven’t been able to find how to delete users or change them passwords. Even in the web interface, I haven’t found any button related to the account.

MP3 support

Hi guys, again thank you for the great work.
OggVorbis Rule ! that's a fact, but legacy is a bitch ! Is it mandatory to re-encode all your library to ogg or mp3 support is possible ?

Gestion des tag et info des pistes.

Bonjour @dready92:

Quelque petits soucis:

1 - Mes piste bien que possédant de bon tag ne sont pas reconnu par 10er10 pourtant avec Audi Tag Tool oui. Pour une musique à ajouter ça va, mais quand il y'en a 10 ça devient tout de suite moins marrant

2 - Comment faire pour inviter un ami ?

Merci d'avance...

Problème à la création d'utilisateur

Bonjour,

Lorsque je lance node d10-createUser.js pierre monpassword :

Creating user pierre with password ********
Hit +C to cancel or wait 5 secs

/home/pierrot/Public/10er10/node/d10.users.js:28
d10.couch.auth.view("infos/all", {key: ["login",login]}, function(err,back) {
^
TypeError: Cannot read property 'auth' of undefined
at /home/pierrot/Public/10er10/node/d10.users.js:28:11
at /home/pierrot/Public/10er10/node/d10.users.js:81:5
at /home/pierrot/Public/10er10/node/when.js:32:13
at /home/pierrot/Public/10er10/node/when.js:37:4
at Object.createUser (/home/pierrot/Public/10er10/node/d10.users.js:78:2)
at Object._onTimeout (/home/pierrot/Public/10er10/node/admin/d10-createUser.js:30:9)
at Timer.callback (timers.js:62:39)

Apparemment il a un problème avec ma config de base qui n'a pas été touchée :

exports.couch_dev = {
d10: {dsn: "http://localhost:5984/",database:"d10-test2"},
d10wi: {dsn: "http://localhost:5984/",database:"d10wi-test2"},
auth: {dsn: "http://localhost:5984/",database:"auth-test2"},
track: {dsn: "http://localhost:5984/",database:"track-test2"}
};

et les tables de DEV sont correctement crées http://127.0.0.1:5984/_utils/
Je suis à court d'idée, j'ai également vérifié nodejs qui est en 4.2 et couchdb en 1.0.1

Merci,

Screenshot

Hey, a screenshot in the README would be nice to encourage users to try it out. Thanks !

embeddable database

Using and/or supporting as an alternative, a embeddable database would make installation of 10er10 easier.

CouchDB doesn't really have any advantage for 10er10 as it doesn't need to scale.

What do you think?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.