

Streeme - a private, HTML5 based music server (alpha release) - chaffneue
http://code.google.com/p/streeme/

======
samps
This looks awesome. This may seem shallow, though, but when I got to the setup
page, I was a little disappointed with the complexity of the setup required.

\- Why are you using MySQL instead of SQLite or something even simpler? Surely
my personal music streamer doesn't need serious scalability.

\- Why does the setup require futzing with my Apache configs to use
mod_rewrite? For just streaming music, I'm willing to put up with ugly
("something.php/directory") URLs. This would also make it easier to get up and
running with non-Apache web servers (lighttpd, for instance).

\- Do I really need to use a non-default PHP configuration? And increasing the
interpreter's memory limit seems a little ominous.

This is all to say that perhaps the right way to deploy something like this
would be as a single program you can run that has its own built-in Web server.
As it is, the configuration is daunting for a home computer (although
completely reasonable for a real server setting).

~~~
chaffneue
1\. You can use SQLite or postgres if you'd like :) they all work in my tests.
Just replace the database connection string with the sqllite or postgres one.
My docs are just for a common lamp configuration. MySQL is a bit more
performant thanks to the query caching part.

2\. the mod rewrite is part of the framework I'm using (Symfony 1.4). just
makes things a little easier to secure and the code a bit more maintainable.
Luckily you only have to do it once. There is a VM version that uses vmware
and it works fairly well if you don't feel like doing a bunch of setup - just
iTunes won't play nice with the VM edition because of static paths :/

3\. the problem I found is that if you have a large library, the itunes xml
can take a lot of ram to parse. If you're not using itunes, the RAM demands
might be a bit lower.

I do hear you on the setup complexity. I think when I get closer to a
perfectly stable program with developers familiar with buidling system
specific installers, I'd like to build a slick installer that installs and
spins up a server for you. For now there's the VMware image.

------
callumjones
This is pretty awesome, but doesn't PHP have some framework or library for
running webapps with their own web servers? I really dislike trying to get PHP
working and then have to get nginx or Apache working.

At the risk of sounding too stuck up, Ruby and Python have many frameworks for
running themselves as web servers.

~~~
chaffneue
I hear you.. I'm using a PHP framework to be sure, but it doesn't come with a
web server yet. I have a kind of love hate thing with PHP myself -
distributing it isn't all that easy. That said, I made a debian linux image
all set up if you'd like to just try it for a while before taking the plunge
into a custom install.
[http://code.google.com/p/streeme/wiki/InstallingStreemeHomeS...](http://code.google.com/p/streeme/wiki/InstallingStreemeHomeServer)

------
Wolf_Larsen
Awesome, thanks. This might be an alternative to Rdio for some people.

------
power78
I created the exact same thing using Kohana but has a community aspect. My
friends love it, I think this would be great if it offered community features.

------
banders
Looks great. Like subsonic except w/ a nice UI.

~~~
chaffneue
Thanks! I didn't find out about Subsonic until just recently, but it looks
like it needs native apps on mobile. I was trying to go as close to a pure web
browser based application as I could. Scratching an itch, I guess :)

------
aphexairlines
I wonder how much memory this lamp setup ends up using compared to the jvm
(for subsonic).

~~~
chaffneue
Runs about 30MB idle streaming a song with PHP and 97MB peak scanning 8500
songs using iTunes.xml. FFMpeg uses a bit of ram, but I think song scanning is
the most intensive because of the stupid plist parsing task not streaming its
results to PHP nicely. It's on the todo list for cleaning up.

------
jjcm
Very nice, I'll be setting this up on my server later tonight.

------
fletchowns
How come this thing wants my AWS credentials?

~~~
chaffneue
That's just the boilerplate config for cloudfusion (a PHP based Amazon API
library that streeme uses). Just fill in the bare minimum to get streeme to
fetch art. - In my experience, it's AWS_KEY, AWS_SECRET_KEY, AWS_ASSOC_ID &
AWS_DEFAULT_LOCALE

------
drivebyacct2
I'd like to store my music in S3 and have this running on my personal
webserver to point to my files in S3. Is something like this possible? I
suppose I could mount my S3 storage on my webserver.

~~~
chaffneue
Yep.. just run it as a mounted drive and point your watched folders config to
it.

