ruippeixotog / docker-google-musicmanager

Dockerfile for Google Music Manager
11 stars 10 forks source link

ruippeixotog/google-musicmanager Docker image

This repository contains the Dockerfile for ruippeixotog/google-musicmanager, a Docker image containing Google Music Manager - the application which allows uploading of local music files for use with the Google Play Music service.

At the time of writing, there is no way to run the application as a headless service. The image relies on the method described here, which involves launching a lightweight X11 display server (Xvfb) and a VNC server (x11vnc).

Please note: This method worked for me for a long time in the past, but I'm aware of its lack of reliability and reproducibility. I do not have the necessary expertise to debug Google connection or authentication problems here. Google Music Manager was never meant to be run headless and there is no documentation whatsoever, so while I shared this image with the community, unfortunately I can't provide support for it. Feel free to send pull requests if you have a fix.

How to run

There are two ways to pass the required Google account credentials to this image.

The credentials can be passed through environment variables by running a container with:

docker run -dt -v /music:/music -v /appdata:/appdata \
  -e SERVER_NAME=some_name -e GOOGLE_USER=my_username -e GOOGLE_PASS=my_password \
  ruippeixotog/google-musicmanager

Using environment variables won't work if the Google account has two-step authentication enabled. If that is the case or if writing passwords in plain text is not desirable, the container can be run instead with:

docker run -dt -v /music:/music -v /appdata:/appdata \
  -e SERVER_NAME=some_name -p 5900:5900 \
  ruippeixotog/google-musicmanager

This exposes port 5900, in which a VNC server allows remote access to the Music Manager sign-in GUI. One can then connect using a client such as VNC Viewer and manually sign in. As long as the container is not destroyed, this process should only be needed once.

Ports

Volumes

Environment variables

Bugs

The current stable version of x11vnc has a bug where a buffer overflow occurs when IPv6 is not available in the host machine, as explained by this post. If you experience this problem please use the ruippeixotog/google-musicmanager:dev image, which uses a dev version of x11vnc.