Dropbox - Server

Hi

By change: Did somebody install Dropbox headless on top of Nethserver?

Background:
Of course, I do not want to provide an alternative to Nextcloud, but Nextcloud is just provided to my users and acts as a storage e.g. for their laptops. What I am looking for is an external storage. In my case it is just one file (my DMS backup). I want to make sure that this daily backup file is not in my home but stored externally, e.g. in case of fire. And no, I do not need / want some paid services like S3. My free Dropbox is by far large enough :slight_smile:

Application Case:

  1. VM Ubuntu Server running EcoDMS
  2. EcoDMS runs a daily backup directly to VM Nethserver via NFS
  3. Nethserver runs a daily backup directly to an attached USB disk including EcoDMS Backup folder
  4. Proxmox runs a weekly backup to an attached USB disk
    -> However all USB disk an the Proxmox server is in my home
  5. (Missing): Via a cron Job I want to copy the File to a Dropbox-Folder which is then synced externally

I tried to follow this howto, but it did not work:

Obviously, there is a Python error during start of dropboxd

TIA
Thorsten

**NethServer Version: 7

Maybe it’s just a permission problem? Did you create a dropbox user that can access /opt/dropbox?

Before you start to install Dropbox on CentOS. You must have the non-root user account on your server with sudo privileges.

Please share the error message.

Hi,

yes, I installed it to /opt/dropbox and I followed the howto precisely with one exception: I used root, but that user does have access.

The error message is:

[root@ns-plex ~]# /opt/dropbox/dropboxd
dropbox: locating interpreter
dropbox: logging to /tmp/dropbox-antifreeze-S7qUsR
dropbox: initializing
dropbox: initializing python 3.7.5
dropbox: setting program path ‘/opt/dropbox/dropbox-lnx.x86_64-105.4.649/dropbox’
dropbox: setting python path ‘/opt/dropbox/dropbox-lnx.x86_64-105.4.649:/opt/dropbox/dropbox-lnx.x86_64-105.4.649/python-packages.zip’
dropbox: python initialized
dropbox: running dropbox
dropbox: setting args
dropbox: applying overrides
dropbox: running main script
dropbox: load fq extension ‘/opt/dropbox/dropbox-lnx.x86_64-105.4.649/cryptography.hazmat.bindings._constant_time.cpython-37m-x86_64-linux-gnu.so’
dropbox: load fq extension ‘/opt/dropbox/dropbox-lnx.x86_64-105.4.649/cryptography.hazmat.bindings._openssl.cpython-37m-x86_64-linux-gnu.so’
dropbox: load fq extension ‘/opt/dropbox/dropbox-lnx.x86_64-105.4.649/cryptography.hazmat.bindings._padding.cpython-37m-x86_64-linux-gnu.so’
dropbox: load fq extension ‘/opt/dropbox/dropbox-lnx.x86_64-105.4.649/apex._apex.cpython-37m-x86_64-linux-gnu.so’
Traceback (most recent call last):
File “dropbox/init.pyc”, line 8, in
File “dropbox/overrides.pyc”, line 475, in
File “dropbox/overrides.pyc”, line 363, in __ssl_wrap_socket_internal_ca_certs
File “dropbox/ssl/context.pyc”, line 16, in
File “dropbox/nts/init.pyc”, line 30, in
File “dropbox/client/authentication/interface.pyc”, line 29, in
File “dropbox/assertions.pyc”, line 13, in
File “dropbox/exception/reporting.pyc”, line 40, in
File “dropbox/client_api/exceptions.pyc”, line 21, in
File “apex/init.pyc”, line 8, in
File “<_bootstrap_overrides>”, line 153, in load_module
ImportError: /lib64/libc.so.6: version GLIBC_2.18' not found (required by /opt/dropbox/dropbox-lnx.x86_64-105.4.649/libdropbox_apex.so) !! dropbox: fatal python exception: ['Traceback (most recent call last):\n', ' File "dropbox/__init__.pyc", line 8, in <module>\n', ' File "dropbox/overrides.pyc", line 475, in <module>\n', ' File "dropbox/overrides.pyc", line 363, in __ssl_wrap_socket_internal_ca_certs\n', ' File "dropbox/ssl/context.pyc", line 16, in <module>\n', ' File "dropbox/nts/__init__.pyc", line 30, in <module>\n', ' File "dropbox/client/authentication/interface.pyc", line 29, in <module>\n', ' File "dropbox/assertions.pyc", line 13, in <module>\n', ' File "dropbox/exception/reporting.pyc", line 40, in <module>\n', ' File "dropbox/client_api/exceptions.pyc", line 21, in <module>\n', ' File "apex/__init__.pyc", line 8, in <module>\n', ' File "<_bootstrap_overrides>", line 153, in load_module\n', "ImportError: /lib64/libc.so.6: version GLIBC_2.18’ not found (required by /opt/dropbox/dropbox-lnx.x86_64-105.4.649/libdropbox_apex.so)\n"] (error 3)
Aborted

Regards
Thorsten

It seems Dropbox dropped the CentOS support. Dropbox needs glibc 2.18 but CentOS provides 2.17.

Maybe you could use Google Drive or OneDrive as alternative but I never tested.

2 Likes

Thanks … this matches my conclusion :slight_smile:

I do not think that Dropbox will return to 2.17 and Centos will for sure not update shortly. There are some workarounds I am not willing to apply on my productive NS environment. Anyway, Google Drive / On Drive is not an option for me … I got 25 GB@Dropbox and I do not want to have more accounts that Nextcloud and Dropbox.

The other option is to run Dropbox on the ubuntu server directly (as it does currently). But this increases my efford to look at. I would prefer NS to be the server in charge for this task :slight_smile:

Thanks for effort and best regards
Thorsten

Hi @thorsten,
I’ve found a workaround without installing a new glibc version, so you don’t have to be afraid about breaking your system.

https://forums.centos.org/viewtopic.php?f=47&t=68050&start=10#p287875

1 Like

Hi @m.traeumner

thank you for your effort and sorry, that does not work, see the one-2-last post in that thread (page 4) :frowning:

…

egards
Thorsten
R

Sorry, didn’t read this.

@support_team
Has somebody an idea howto install dropbox in a container? That could be a solution for @thorsten.

Would rclone or a Nextcloud’s external storage backend for dropbox be of use?

EDIT - Other scripts (older):

4 Likes

Hi

I just installed rclone which works fine :slight_smile: It meets my requirements perfectly. Just some remarks:

  • you need zip / unzip (yum install zip unzip) if not installed
  • you need another rclone instance available on a machine with a web browser
    for my prupose, I installed it on Windows 10 (just copy the downloaded folder, may be deleted later)
  • here is an overview how to run rclone config (entries in bold)

#> rclone config

n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> “your name”
Type of storage to configure.
Enter a string value. Press Enter for the default (“”).
Choose a number from below, or type in your own value
…
9 / Dropbox
\ “dropbox”
…
Storage> dropbox
** See help for dropbox backend at: Dropbox **

OAuth Client Id
Leave blank normally.
Enter a string value. Press Enter for the default (“”).
client_id>blank, just press enter

OAuth Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default (“”).
client_secret>blank, just press enter

Edit advanced config? (y/n)
y) Yes
n) No (default)
y/n> N
Remote config

Use auto config?
Say Y if not sure
Say N if you are working on a remote or headless machine
y) Yes (default)
n) No
y/n> N

For this to work, you will need rclone available on a machine that has
a web browser available.

For more help and alternate methods see: Remote Setup

Execute the following on the machine with the web browser (same rclone
version recommended):

    rclone authorize "dropbox"

… Continue on Windows PC

rclone authorize “dropbox”

From the command line in the rclone folder. Your browser opens, you will need to log in your Dropbox and accept. After that return to the Windows command line and copy the output.

… continue on Nethserver:

Then paste the result below:

result> {“access_token”:your_token_recieved",“token_type”:“bearer”,“expiry”:“0001-01-01T00:00:00Z”}

[test]
type = dropbox
token = {“access_token”:“your_token_recieved”,“token_type”:“bearer”,“expiry”:“0001-01-01T00:00:00Z”}
y) Yes this is OK (default)
e) Edit this remote
d) Delete this remote
y/e/d> y

You are finished, good luck

Best regards
Thorsten

2 Likes