MyMediaForAlexa docker


Recommended Posts

What is My Media For Alexa?

A media server that allows you to stream audio files (e.g. music and audiobooks) that are stored on your unRAID server to Alexa enabled devices such as Amazon Echo or Amazon Dot using voice control.

 

More details and the full list of features can be found on the My Media For Alexa web site.

 

Licensing
My Media for Alexa can be used for free for seven days to allow you to evaluate it.  After that you need a (very modestly priced) license to continue using it.  Details of the prices for licenses can be found  on the  My Media For Alexa web site.  If you want to run multiple instances of My Media for Alexa then you will require a license for each instance. 

 

The license is activated when you use the My Media for Alexa admin screen to connect to your Amazon account.

 

Installation

The MyMediaForAlexa docker container is easily installed via the Community Applications plugin (which adds the ‘Apps’ tab to the Unraid GUI).   For a standard installation the only entry  that will need changing in the provided template is the one for the path to your media.  The network settings in the default template are fine if you only want to run a single instance of the MyMediaForAlexa docker and In this case the MyMediaForAlexa container will be running using the IP address of the unRAID server.

 

If you happen to want to run multiple instances of My Media For Alexa (perhaps with each instance handling different media) then since the ports to be used are fixed you need to be aware that each running instance of the MyMediaForAlexa docker container must have its own IP address. To set this up on unRAID all instances (other than the first) need to be set up to use the Custom networking option.  On many systems this will be Custom:br0 but as the name of the bridge can vary according to your unRAID setup you need to select a setting appropriate for your system.   You will also need to give the container it’s own name and modify the /datadir path to be unique for the 9nstance.

 

More detail on the networking requirements can be found on the My Media For Alexa web site.

 

Port and Path Mapping
The My Media for Alexa docker container has two pre-configured paths:

  • /datadir   This  should be mapped to where My Media For Alexa will store its configuration information and indexing information on the unRAID server.
  • /medialibrary: This should be mapped to where your media is stored on your unRAID server.   

Additional paths for media can be added if your media is stored at several locations, but you will then also need to add these paths as new Watch folders via the MyMediaForAlexa WebUI admin screens.

 

Port 52050:   Communicating with Alexa   
Port 52051:   Admin of My Media For Alexa   
These ports are fixed and cannot be changed as they are hard-coded into the Alexa skill.

 

Support
Support for the main My Media for Alexa app is via the My Media For Alexa web site.   There is a forum for users. 
Change Log  of what has changed in recent releases is available (although experience has shown there can sometimes be a small delay before this gets updated).   
There is a FAQ available covering common problems encountered by users when using My Media For Alexa.   
Support for unRAID specific issues is via the Docker Container section of the unRAID forums.

The Unraid specific XML template that is used to enable Community Applications to install MyMediaForAlexa is held on gitHub.

 

Note   
Do not forget that you also have to have activated the My Media skill via the Alexa app on your phone or tablet before you can start using My Media for Alexa to start playing your media.
 

Edited by itimpi
  • Like 1
Link to comment

Additional Information

Changing the Scan Frequency
As supplied, the scan frequency for checking for updated media is preset to be every 12 hours.  It is possible to alter this frequency by doing the following:

  • Go the folder (probably on the cache disk) that you have configured as the Data folder for the container to use.
  • Look for the file called Preferences.xml and open it in a text editor
  • Find the line that contains the WatchFolderPollHours entry and change the value associated with it to the interval you want (in hours)
  • Stop and then restart the container to activate the change
  • You can confirm the change has taken by going to the Settings page in the MyMediaForAlexa admin.  The new interval will now show under the Scan settings section.

It is likely that support for changing this value via the Settings page will be added to the MyMediaForAlexa admin options thus avoiding the need for the steps given above.

Edited by itimpi
Link to comment
  • 3 weeks later...

It was quite easy to get this to work once the MyMediaForAlexa developers started using dockerhub to host their container.   I only had to get the XML template set up to allow it to be installed via Community Applications.   I would be interested to get confirmation that it works OK for others - so far I only know of myself and my brother who have it running on unRAID.  I personally run two instances - one for music and the other for audiobooks.   In theory a single instance can handle both of these but the license fees per instance are so small the convenience factor of keeping them separate seemed worthwhile.

 

The MyMediaForAlexa developers have been quite responsive in getting changes incorporated that improve the experience when running under Docker, but if you have any suggestions on further improvements either pass them directly to the developers or mention them here and I will pass them on.   I have a number of suggestions already outstanding (mainly in the area of handling audiobooks) that I am hoping to see incorporated into future upgrades to the container.

Link to comment
2 hours ago, jowi said:

After installing this i noticed this docker keeps the disk(s) where you store your music library, spinned up 100% of the time... which is really bad. Is there some setting in the docker that might prevent this?

There is no setting for this, but I find that the drive does not stay spun up on my system so it must be something specific to your setup.   Have you checked via the admin screen that the drive is not being scanned for indexing?   A scan for changes is done every 6 hours and obviously the drive will spin up every time such a scan takes place. What setting do you have for the spindown timeout for the drive in question?

 

EDIT:   I have sent a question to MyMediaForAlexa support to find out if there is a way to change the scan frequency, and if there is not at the moment to consider adding this to a future release.

Edited by itimpi
Link to comment
47 minutes ago, jowi said:

I did have it installed on the same disk (disk1) where my musiclibrary is on... i usually install dockers on my cache/ssd... i've reinstalled it on the ssd now, didn't have time yet to see if it is better, i assume it will be :)

If you had the /datadir path set to use a location on the same disk as your media then that would explain why the disk stays spun up as the server would continually be writing log entries.  It is possible to disable this logging in the settings of the Admin app to see if that helps as a temporary workaround.  If it is not that then it is something else and I am not sure what that might be.

 

BTW:  I have been given an undocumented way to change the scan period.  Been told it will become  a standard configurable option in the near future.   If you want more information on how to do this then I can PM you the details.

Edited by itimpi
Link to comment
  • 2 weeks later...

Scanning problem solved :) but trial period is over... I have an Alexa dot 2, so my idea is to stream mymedia over bluetooth to a bluetooth device connected to my receiver. I'm thinking of an Audioengine B1 or an Arcam rBlink. Now, it is great to order Alexa around with mymedia, and it will play over bluetooth, but... i have to find a way to set the right input on my receiver when mymedia starts playing. As far as i can see, there is no possibility to use MyMedia as an IFTTT trigger or as a 'thing' in Stringify? Any ideas? I'm look for something like "IF mymedia is playing, THEN tell Logitech Harmony to select input 2" 

Edited by jowi
Link to comment
4 hours ago, jowi said:

Scanning problem solved :) but trial period is over... i have an Alexa dot 2, so my idea is to stream mymedia over bluetooth to a bluetooth device connected to my receiver. I'm thinking of an Audioengine B1 or an Arcam rBlink. Now, it is great to order Alexa around with mymedia, and it will play over bluetooth, but... i have to find a way to set the right input on my receiver when mymedia starts playing. As far as i can see, there is no possibility to use MyMedia as an IFTTT trigger or as a 'thing' in Stringify? Any ideas? I'm look for something like "IF mymedia is playing, THEN tell Logitech Harmony to select input 2" 

Getting a license is not exactly onerous pricewise!

 

No ideas on how to solve your problem with switching your receiver to the correct input.   Since this is not an unRAID specific issue it might be worth contacting MyMediaForAlexa support to see if they have any ideas?

Link to comment

At least you will not waste time trying to get something working in the short term?.  At least it is seen as something worth considering.  If you get any further feedback on this then please post the details here.  

 

One of the features I have been providing feedback to MyMediaForAlexa on is their support for AudioBooks in addition to Music.   I think that this is considered to still be in beta status but it is looking good.  Most of my suggestions for improvement have been implemented although there are still a few outstanding.  I am not sure how much of a niche Use Case this is, but it is definitely something that I am finding attractive.   Would be interested to hear if anyone else might be using this feature?

 

The one missing feature that I would really like to see is multi-room support.   I know that MyMediaForAlexa want to do this but are waiting on support for this in the SDK that Amazon provide so it is always worth adding an extra vote for Amazon adding this to the SDK.    Since Amazon provide it when streaming their Audio material I would not think it can be that difficult to make the appropriate interface available to 3rd Parties.

Link to comment
  • 2 weeks later...

If, like me, you plan on using their "push" service to access your media outside of your local network (and not have to set up a VPN, etc) be aware that they do not support transcoding via push.  I haven't been able to determine if they intend to support it in the future, only that they do not now.  This issue led me down a bad path where I thought there was something else wrong because I could play music fine at home but not at work.  (the vast majority of my audio files are .flac, which requires transcoding to play on Alexa)

Link to comment
2 hours ago, rwarren873 said:

If, like me, you plan on using their "push" service to access your media outside of your local network (and not have to set up a VPN, etc) be aware that they do not support transcoding via push.  I haven't been able to determine if they intend to support it in the future, only that they do not now.  This issue led me down a bad path where I thought there was something else wrong because I could play music fine at home but not at work.  (the vast majority of my audio files are .flac, which requires transcoding to play on Alexa)

Have you raised this with MyMediaForAlexa support?    If not mention that here and I will do so to get a definitive answer.   Since any transcoding happens locally it feels more like a bug than an intentional limitation and I certainly could not find any mention of such a limitation on their web site.

Link to comment

I did (4 days ago), their response said "Unfortunately, at the moment, we don’t support Push access for files that require transcoding."  I replied saying that was a key feature I'm looking for and if they intended to support it in the future and haven't received a response yet.  I must admit that I like their implementation, but not being able to play my music outside of my network is a deal breaker for me.

 

I could, I suppose, keep a separate library of all my music pre-transcoded to .mp3 but I really don't want to deal with that or take up that much space on my server.  When/if they get that sorted out, I'll subscribe - their price is certainly reasonable!

Link to comment

Thanks for the feedback.   I may decide to mention it anyway next time I have a reason to drop an email to them.  

 

i see they have now updated the Change Log on their web site(I complained that they had not been doing so) so as long as they continue to do this it will be easy to see when/if this gets implemented.

Link to comment
7 hours ago, rwarren873 said:

I could, I suppose, keep a separate library of all my music pre-transcoded to .mp3

This tickled something in my memory. I believe there exists a project somewhere that presents a file system with processor transcoded mp3's when you point it at a folder of flacs.

 

Found it with a quick google. https://khenriks.github.io/mp3fs/

 

I leave it to you as a research project to figure out if and how you could set that up, but the possibility is obviously there.

Link to comment
  • 1 month later...

Would anyone be so kind as to provide an idiot guide for how to get this up and running? I've installed the docker via Docker Hub, but I don't speak linux and the instructions on the mymediaalexia site are a little opaque.

 

I've had my unraid server set up for a couple of years now (after following idiot guides elsewhere) without much (if any) tinkering and have l largelyforgotten even the basics of setup, so even simple instructions like "Create a directory for storing My Media for Alexa data files, eg ~/.MyMediaForAlexa" fill me with anxiety and confusion.

 

So, as I understand it, I still need to set up that directory, somewhere other than where my music is stored. I also need to "note the remapped datadir and medialibrary paths" and ensure I have created those on my system first.


What else do I need to do??

 

Anything you can help me with or point me in the right direction to sort will be seriously appreciated. Assume I can string a sentence together, but all other knowledge is variable.

Link to comment

Thanks.

 

I didn't see that option when I installed so I started again and still can't see where I would make that change. There doesn't seem to be a relevant template, based on name, apart from the user defined template  "my-mymediaforalexa" and if I choose that there are no fields for /datadir or /medialibrary for me to edit

 

Any idea what I am doing wrong, or should I be choosing a different template?

 

 

Edited by be4con
correct eccidental text delete
Link to comment

 

4 minutes ago, be4con said:

apart from the user defined template  "my-mymediaforalexa" and if I choose that there are no fields for /datadir or /medialibrary for me to edit

Because the last saved template that you created didn't have those settings in it (ie: the my* templates are simply copies of what is currently running)

4 minutes ago, be4con said:

should I be choosing a different template?

 

2 hours ago, be4con said:

I've installed the docker via Docker Hub

Since you're running unRaid, the way that you should be installing anything is via the apps tab, and searching for Alexa. Remove the container, then reinstall via Apps.

 

Link to comment
6 minutes ago, Squid said:

Since you're running unRaid, the way that you should be installing anything is via the apps tab, and searching for Alexa. Remove the container, then reinstall via Apps.

 

I did install via your CA plugin Squid. But, unless I enable also search dockerHub in the CA settings, I don't find the mymediaalexa container:

image.png.56e48f0183dfa5fa37f6ee80e17bda94.png

 

When I install it that way I don't see any relevant template to select and without selecting a specific template these are the only configurable options:

image.png.a7ee65a08c4d2625b848a37657b3f072.png

 

I'm obviously missing a crucial step, but I have no idea what

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.