Closed mholtzscher closed 8 years ago
I'm running into the same issue. I'm not using the DEV version.
If i use /root/music instead of /music on the container I no longer get errors in the log, but GMM isn't functioning as it doesn't upload any music.
Hi! I'm sorry for not replying to this issue earlier, I forgot it completely.
I tried to replicate the issue here, but I wasn't able to. I had a few issues myself a few months ago, but it was with the appdata
volume, not with music
. As the option -s /music
is hardcoded to be passed to the google-musicmanager
binary, I can't see how /root/Music
is being used instead.
I have just updated both the "latest" and the "dev" images. I added support for a new environment variable, SPOOF_MAC
, which controls whether the mac address is spoofed or not. Can you try running the image with mac spoofing disabled (--net=host -e SPOOF_MAC=false
) and see if the problem persists?
Thanks for the response!
Still getting this in the log file: 2015-11-10 01:19:34,621 Z ERROR TId 0x7f2b851687c0 Music folder path does not exist: /root/Music [AppUtils.cpp:543 AppUtils::GetMyMusicFolder()]
Command ran: sudo docker run -dt -v /home/media/music:/music -v /home/docker/appdata/GoogleMusicManager:/appdata -e SERVER_NAME=GMM -e GOOGLE_USER=XXXX -e GOOGLE_PASS=XXXX -e SPOOF_MAC=false ruippeixotog/google-musicmanager:dev
I have 2-factor auth buth I used an app-specific, generated code for the pass. That shouldn't be a problem though.
Well... I guess it'll be difficult for me to track where the problem is, as I ran a new container myself yesterday with the version I published:
sudo docker run -dt --name gmm --net=host -p 5900:5900 \
-v /mnt/data/home/Music:/music \
-v /home/home/google-musicmanager:/appdata \
-e SERVER_NAME=home-srv -e SPOOF_MAC=false \
ruippeixotog/google-musicmanager
And everything worked well... Music Manager being closed source and not documented at all doesn't help, too.
A few things you can try/check:
docker pull
the image yesterday after I published the new one?sudo docker exec <YOUR_CONTAINER_ID> ps aux
?/home/docker/appdata/GoogleMusicManager
directory empty? If not, can you try with a fresh appdata volume?sudo docker pull ruippeixotog/google-musicmanager
/home/docker/appdata/GoogleMusicManage was not empty, I deleted the contents
sudo docker run -dt --name gmm --net=host -v /home/media/music:/music \
-v /home/docker/appdata/GoogleMusicManager:/appdata \
-e SERVER_NAME=GoogleMusicManager -e SPOOF_MAC=false \
-e GOOGLE_USER=XXXX \
-e GOOGLE_PASS=XXXX ruippeixotog/google-musicmanager
Peer.db and google-musicmanager.log created in /home/docker/appdata/GoogleMusicManager google-musicmanager.log still has the following line: 2015-11-11 00:51:46,391 Z ERROR TId 0x7f37f85867c0 Music folder path does not exist: /root/Music [AppUtils.cpp:543 AppUtils::GetMyMusicFolder()]
XXXX@server:/home/docker/appdata/GoogleMusicManager$ sudo docker exec 573dc43c7792 ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.3 0.3 52136 13968 ? Ss+ 00:51 0:00 /usr/bin/python /usr/bin/supervisord
root 8 0.1 0.4 156432 16660 ? Sl 00:51 0:00 /usr/bin/Xvfb :2 -screen 0 1024x768x16
root 9 0.1 0.1 84024 5288 ? S 00:51 0:00 /usr/bin/x11vnc -display :2 -nopw -listen 0.0.0.0 -rfbport 5900 -xkb -forever
root 10 0.0 0.0 17972 1544 ? S 00:51 0:00 /bin/bash /google-musicmanager.sh
root 21 2.5 0.9 1806812 33624 ? SNl 00:51 0:04 /usr/bin/google-musicmanager -a XXXX -p XXXX -s /music -m GoogleMusicManager
root 205 0.0 0.0 4340 356 ? S 00:54 0:00 sleep 1
root 206 0.0 0.0 15564 1140 ? Rs 00:54 0:00 ps aux
The container is not killed, still running just fine, just not doing anything.
Is this possibly a permissions issue? The owner of /home/media/music is root, but docker runs as root so I'm guessing no...
Thank you very much for your efforts on this!
Hi!
After I analyzed more thoroughly my own logs, I see that every time I start the container it actually prints that message you mentioned:
2015-11-15 18:58:04,945 Z ERROR TId 0x7fb9995287c0 Music folder path does not exist: /root/Music [AppUtils.cpp:543 AppUtils::GetMyMusicFolder()]
However, in my case google-musicmanager doesn't seem to care about that, as a few lines below it starts using the expected /music
folder:
2015-11-15 18:58:07,942 Z INFO TId 0x7fb98aa31700 Login successful [../Shared/AccountManager/AccountSession.cpp:571 AccountSession::OnLoggedIn()]
2015-11-15 18:58:08,050 Z INFO TId 0x7fb9995287c0 Logged in, starting peer [MainWindow.cpp:369 MainWindow::onLoginAttemptComplete()]
2015-11-15 18:58:08,050 Z INFO TId 0x7fb98b232700 PeerInterface::StartPeer() called [PeerInterface.cpp:61 PeerInterface::StartPeer()]
2015-11-15 18:58:08,050 Z INFO TId 0x7fb98b232700 PeerStart() [Core/PeerMain.cpp:403 ::PeerStart()]
2015-11-15 18:58:08,050 Z INFO TId 0x7fb98b232700 Screen Name: 780420982 - Machine Identifier: -767108992 [Core/PeerMain.cpp:160 AppProcessor::Initialize()]
2015-11-15 18:58:08,122 Z INFO TId 0x7fb98b232700 Server Processor::Initialize() starts [Core/ServerProcessor.cpp:136 ServerProcessor::Initialize()]
2015-11-15 18:58:08,122 Z INFO TId 0x7fb98b232700 Local File Database initialized with scanInterval=30 and rootCheckInterval=5 and importInterval=30 and maxChangePerDelta=32 [LocalFileDatabase.cpp:3173 LocalFileDatabase::LocalFileDatabase()]
2015-11-15 18:58:08,122 Z INFO TId 0x7fb98b232700 Music file Sharing Type: 0 [LocalFileDatabase.cpp:3176 LocalFileDatabase::LocalFileDatabase()]
2015-11-15 18:58:08,122 Z INFO TId 0x7fb98b232700 Config music folders: 1 folders: [LocalFileDatabase.cpp:3181 LocalFileDatabase::LocalFileDatabase()]
2015-11-15 18:58:08,122 Z INFO TId 0x7fb98b232700 /music [LocalFileDatabase.cpp:3183 LocalFileDatabase::LocalFileDatabase()]
This is followed by a bunch of lines with FileSystemChangeMonitor::addWatchDirectory
for every subdirectory I have in the mounted /music
volume. Do you have that in your logs too?
Sorry for the delay, had to go out of town for work... OK It appears that I'm not getting beyond the logon portion from what I gather looking at your log.
I'm using 2-factor auth, but I generated an app-specific code to use as the password so that I don't have to mess with the VNC as it's a headless server, shouldn't be a problem in theory. I'm using the first part of my email to logon, not including the @gmail.com portion, does that matter?
Below is everything in the log beyond the certificate info, nothing else gets appended:
2015-11-25 00:25:38,004 Z ERROR TId 0x7f4acf0937c0 Music folder path does not exist: /root/Music [AppUtils.cpp:543 AppUtils::GetMyMusicFolder()]
2015-11-25 00:25:38,046 Z INFO TId 0x7f4ac0395700 Login attempt #0 start state [../Shared/AccountManager/AccountSession.cpp:86 AccountSession::Login()]
2015-11-25 00:25:38,047 Z INFO TId 0x7f4ac0395700 Running login state 2 [../Shared/AccountManager/AccountSession.cpp:225 AccountSessionSignals::LoginResult AccountSession::pumpStateMachine()]
2015-11-25 00:25:38,047 Z INFO TId 0x7f4ac0395700 Refresh token result: 4 [../Shared/AccountManager/AccountSession.cpp:177 AccountSessionSignals::LoginResult AccountSession::performRefreshTokenExchange()]
2015-11-25 00:25:38,048 Z INFO TId 0x7f4ac0395700 Login attempt complete. result (16) state (2) [../Shared/AccountManager/AccountSession.cpp:610 AccountSession::OnAttemptComplete()]
To be honest, I never tried to use google-musicmanager in the Docker using username and password - I just followed instruction on how to pass credentials to the music manager binary. My account has two-factor auth and I never thought of generating an app-specific password to use here.
Judging by your logs it seems that the problem could be indeed in the authentication, as the log lines I showed above happen immediately after your last line here:
2015-11-25 19:45:14,548 Z INFO TId 0x7fb98aa31700 Login attempt #0 start state [../Shared/AccountManager/AccountSession.cpp:86 AccountSession::Login()]
2015-11-25 19:45:14,558 Z INFO TId 0x7fb98aa31700 Running login state 2 [../Shared/AccountManager/AccountSession.cpp:225 AccountSessionSignals::LoginResult AccountSession::pumpStateMachine()]
2015-11-25 19:45:15,154 Z INFO TId 0x7fb98aa31700 Refresh token result: 0 [../Shared/AccountManager/AccountSession.cpp:177 AccountSessionSignals::LoginResult AccountSession::performRefreshTokenExchange()]
2015-11-25 19:45:15,154 Z INFO TId 0x7fb98aa31700 Running login state 3 [../Shared/AccountManager/AccountSession.cpp:225 AccountSessionSignals::LoginResult AccountSession::pumpStateMachine()]
2015-11-25 19:45:15,718 Z INFO TId 0x7fb98aa31700 Running login state 5 [../Shared/AccountManager/AccountSession.cpp:225 AccountSessionSignals::LoginResult AccountSession::pumpStateMachine()]
2015-11-25 19:45:16,139 Z INFO TId 0x7fb98aa31700 Using uploader id 00:21:5A:5F:F3:60 [../Shared/AccountManager/AccountSession.cpp:333 AccountSessionSignals::LoginResult AccountSession::performUpAuth()]
2015-11-25 19:45:16,139 Z INFO TId 0x7fb98aa31700 Running login state 6 [../Shared/AccountManager/AccountSession.cpp:225 AccountSessionSignals::LoginResult AccountSession::pumpStateMachine()]
2015-11-25 19:45:16,720 Z INFO TId 0x7fb98aa31700 Login attempt complete. result (-1) state (7) [../Shared/AccountManager/AccountSession.cpp:610 AccountSession::OnAttemptComplete()]
2015-11-25 19:45:16,720 Z INFO TId 0x7fb98aa31700 Login successful [../Shared/AccountManager/AccountSession.cpp:571 AccountSession::OnLoggedIn()]
2015-11-25 19:45:16,828 Z INFO TId 0x7fb9995287c0 Logged in, starting peer [MainWindow.cpp:369 MainWindow::onLoginAttemptComplete()]
If I had to guess, your username should have "@gmail.com" at the end, as not all accounts are from gmail (Websites autocomplete that part if no email is found, but I believe it is a client-side usability improvement only).
This image launches a VNC server regardless of the authentication method used, so you really only need a VNC client. This can be useful to debug your problem and possibly testing logging in from there. As all X and VNC dependencies are containerized inside Docker you don't need to worry with polluting your headless server with useless packages :)
OK making progress. Decided to use the VNC option for authentication.
If I run this:
sudo docker run -dt --name gmm -p 5900:5900 \
-v /home/media/music:/music \
-v /home/docker/appdata/GoogleMusicManager:/appdata \
-e SERVER_NAME=media_server \
ruippeixotog/google-musicmanager
It runs, I can connect to VNC and get the GMM logon screen. But when I try to logon it says two other computers have already logged on and wont continue.
If it try the mac spoofing off:
sudo docker run -dt --name gmm --net=host -p 5900:5900 \
-v /home/media/music:/music \
-v /home/docker/appdata/GoogleMusicManager:/appdata \
-e SERVER_NAME=media_server -e SPOOF_MAC=false \
ruippeixotog/google-musicmanager
I can connect to the VNC but the screen is just black, GMM logon screen never appears.
UPDATE I think I've got it. I deleted the container, deleted the appdata folder, and tried the second command again for no mac spoofing. I got the logon prompt this time and it appears to have been successful. It's parsing through my music now according to the log. I'll keep you posted on whether it's uploading :D
UPDATE 2 It's uploading! Though it's taking its sweet time about it... Thanks for your patience, assistance and work putting this together!
I'm glad you got it working! :) It sure has its difficulties, as the application is not designed to run on a headless server at all and its documentation is non-existent. You should not have any more problems from now on, as long as you keep the appdata directory.
On startup google music manager can't find music folder. Here is line from log file:
2015-10-01 18:19:15,120 Z ERROR TId 0x7f8c2b0d17c0 Music folder path does not exist: /root/Music [AppUtils.cpp:543 AppUtils::GetMyMusicFolder()]
Here is how i created started container:
docker run -dt -v /home/michael/youtube-downloader/music/:/music -v /home/michael/googlemusic-appdata:/appdata -e SERVER_NAME=dockerserver -e GOOGLE_USER= -e GOOGLE_PASS= ruippeixotog/google-musicmanager:dev