gdrive on unRAID or other google drive access via unRAID.


Recommended Posts

Anyone use gdrive on unRAID? Have a package?

 

I'm looking for a way to bring my unRAID server into the google drive cloud.

 

I notice there is lnsync, but I have not seen a package for slackware or unRAID.

 

I know that gdrive does not autosync. It's more like rsync. However that would be good enough for me. It's easy enough to check for any files updated since the last time it's been run.

 

Link to comment
  • 3 months later...
  • 4 months later...
  • 2 weeks later...

I have not embarked on this further, but I'll take a look at it again.

One of the stumbling blocks was the dependency on curl/libcurl. it meant I had to compile a static curl and link to that privately.

It gets to be a pain. I have to do this with other libraries too.

 

Tom has installed libcurl for us, so that's one dependency I do not have to worry about.  You can thank him for it!

 

There seems to be a later version too. I have to look into it, see if I can compile it and go from there.

 

I'm posting some relevant links which we'll need to move forward.

 

https://github.com/Grive/grive

http://www.lbreda.com/grive/start

https://plus.google.com/116411649000013553715/posts

http://mylinuxbook.com/grive-a-command-line-google-drive-client-for-linux-2/

Link to comment

Look at all these dependencies....

 

 


root@slacky:~# ldd grive
        linux-gate.so.1 =>  (0xffffe000)
        libboost_program_options.so.1.42.0 => /usr/lib/libboost_program_options.so.1.42.0 (0xb7804000)
        libcurl.so.4 => /usr/lib/libcurl.so.4 (0xb77ba000)
        libjson.so.0 => /usr/lib/libjson.so.0 (0xb77b2000)
        libgcrypt.so.11 => /lib/libgcrypt.so.11 (0xb773f000)
        libgpg-error.so.0 => /lib/libgpg-error.so.0 (0xb773a000)
        libboost_filesystem.so.1.42.0 => /usr/lib/libboost_filesystem.so.1.42.0 (0xb7728000)
        libboost_system.so.1.42.0 => /usr/lib/libboost_system.so.1.42.0 (0xb7725000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7705000)
        libdl.so.2 => /lib/libdl.so.2 (0xb7701000)
        libbfd-2.20.51.0.8.20100412.so => /usr/lib/libbfd-2.20.51.0.8.20100412.so (0xb7634000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7620000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7530000)
        libm.so.6 => /lib/libm.so.6 (0xb750a000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xb74ed000)
        libc.so.6 => /lib/libc.so.6 (0xb738a000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7370000)
        librt.so.1 => /lib/librt.so.1 (0xb7367000)
        libidn.so.11 => /usr/lib/libidn.so.11 (0xb7337000)
        libldap-2.4.so.2 => /usr/lib/libldap-2.4.so.2 (0xb72f9000)
        libssl.so.0 => /lib/libssl.so.0 (0xb72b1000)
        libcrypto.so.0 => /lib/libcrypto.so.0 (0xb7168000)
        /lib/ld-linux.so.2 (0xb7869000)
        liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2 (0xb715c000)
        libresolv.so.2 => /lib/libresolv.so.2 (0xb7145000)
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb712e000)

Link to comment
  • 1 month later...
  • 3 weeks later...

So I was looking for trying to get Google Drive working on my unRAID server and running across this thread made me feel like it would be too much of a hassle, but digging further I found a very quick and easy way with insync rather than grive. I'm still under their 15 day trial right now to see if this will really work out long term before plopping down the $15 for it. Here's what I did.

 

- Download the portable version from https://www.insynchq.com/linux

- Put the decompressed folder on a cache or user drive

- cd to the folder and run

 

./insync-portable start

 

This will provide you a link that you need to authorize Google Drive to work with insync. Once authorized, it will provide you a very long key. With the long key, I got everything up and running, verified, then quit the app to generate the config directory under my home folder.

 

./insync-portable add_account <long key> /path/to/google/drive

-

./insync-portable get_status

-

./insync-portable quit

 

Without a path to where you want your Google Drive, it will default to a folder with your email address as the name in your home directory. So, set a path somewhere on your array. Once this has been done, a folder in your home folder at ~/.config/Insync will have been created. After quitting the app, I moved the 'Insync' config directory to a user drive (I don't have a cache drive), and created a symlink of the directory from its new location to the old and started the app back up.

 

./insync-portable start

 

Run './insync-portable help' to see all the commands. It does support selective sync and other things, but I haven't played with any of the settings just yet. It's currently downloading all 20GB of stuff I have up on Google Drive, so I'll report back here on the progress and how well it is working.

 

One thing to note. The app wants to be run from it's working directory even when you start the app with the full path to the executable since the executable simply cd's into the client directory to run all the commands.

Link to comment

So far so good. Everything downloaded from Google Drive just fine (all 20GB). I moved and created more folders, added some more files, etc, to test things out and all changes made there way to the server. I've never made one of the new plugins. I did a plugin/package installer for unmenu many years ago, but that was a different thing. I'll look into what I would need to do to make it happen, but if anyone is jumping in to read this thread....feel free to take a stab at it before I'll be able to get around to it.

 

For the time being I have my go script creating a folder at /root/.config/ , sym-linking the original Insync folder from what I mentioned before to /root/.config/Insync, cd'ing to my insync_portable folder, then starting the app.

Link to comment
  • 2 weeks later...

When I try to start insync I get this error:

 

Traceback (most recent call last):
  File "<string>", line 6, in <module>
  File "__main__.py", line 128, in <module>
  File "__main__insync-portable__.py", line 136, in <module>
  File "__main__insync-portable__.py", line 23, in main
  File "ideskmain/client.py", line 8, in <module>
  File "idesksyncer/gddbman.py", line 3, in <module>
  File "idesksyncer/gddb.py", line 6, in <module>
  File "gevent/queue.py", line 33, in <module>
  File "gevent/queue.py", line 33, in <module>
ImportError: cannot import name Full

 

I am running python 2.7.3. Any idea why this happens?

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.