otherguy/docker-dropbox

What's the right update procedure?

embcla opened this issue · 10 comments

Hi and thank you for putting this one up, it made my life a lot easier on my nas!

So I saw a lot of SSL issues in the logs lated, and went to check the version.
Dropbox reports the following

root@CONTAINERS-DROPBOX:/opt/dropbox/Dropbox# gosu dropbox dropbox version
Dropbox daemon version: Not installed
Dropbox command-line interface version: 2020.03.04

I'm wondering if this is correct? Seems like the cli is pretty old.
And secondly there is no deamon?
In fact is I issue a manual update, the system wants to install the daemon first

root@CONTAINERS-DROPBOX:/opt/dropbox/Dropbox# gosu dropbox dropbox update

Dropbox is the easiest way to share and store your files online. Want to learn more? Head to https://www.dropbox.com/

In order to use Dropbox, you must download the proprietary daemon. [y/n] n

just wandering if this is all correct?

Which version of the container are you running? A tag (:1.x.x) or :latest? If the latter, can you do docker inspect otherguy/dropbox and post the output?

I'm running latest, here is the output of inspect

[~] # docker inspect 214859e5ce77                                                                                                                                                                              
[
    {
        "Id": "asdfasdf",
        "Created": "2020-10-18T15:40:32.024254053Z",
        "Path": "/docker-entrypoint.sh",
        "Args": [
            "/opt/dropbox/bin/dropboxd"
        ],
        "State": {
            "Status": "running",
            "Running": true,
            "Paused": false,
            "Restarting": false,
            "OOMKilled": false,
            "Dead": false,
            "Pid": 28217,
            "ExitCode": 0,
            "Error": "",
            "StartedAt": "2021-03-08T13:03:20.708035148Z",
            "FinishedAt": "2021-03-08T12:51:07.620631767Z"
        },
        "Image": "sha256:b62115b25ec44fc42f6866ad109f79bb3857784cfd8b2d75d1ee42b7220c5634",
        "ResolvConfPath": "/blabla/resolv.conf",
        "HostnamePath": "/blabla/hostname",
        "HostsPath": "/blabla/hosts",
        "LogPath": "/blabla/asdfasdf-json.log",
        "Name": "/CONTAINERS-DROPBOX",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
        "ProcessLabel": "",
        "AppArmorProfile": "",
        "ExecIDs": [
            "yadablada",
            "yadafuda"
        ],
        "HostConfig": {
            "Binds": [
                "/share/Containers/Dropbox_data:/opt/dropbox/.dropbox:rw",
                "/share/Dropbox:/opt/dropbox/Dropbox:rw"
            ],
            "ContainerIDFile": "",
            "LogConfig": {
                "Type": "json-file",
                "Config": {}
            },
            "NetworkMode": "dhcp-eth4",
            "PortBindings": {
                "17500/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": ""
                    }
                ]
            },
            "RestartPolicy": {
                "Name": "unless-stopped",
                "MaximumRetryCount": 0
            },
            "AutoRemove": false,
            "VolumeDriver": "",
            "VolumesFrom": [],
            "CapAdd": null,
            "CapDrop": null,
            "Capabilities": null,
            "Dns": [],
            "DnsOptions": [],
            "DnsSearch": [],
            "ExtraHosts": null,
            "GroupAdd": null,
            "IpcMode": "shareable",
            "Cgroup": "",
            "Links": null,
            "OomScoreAdj": 0,
            "PidMode": "",
            "Privileged": false,
            "PublishAllPorts": true,
            "ReadonlyRootfs": false,
            "SecurityOpt": null,
            "UTSMode": "",
            "UsernsMode": "",
            "ShmSize": 67108864,
            "Runtime": "runc",
            "ConsoleSize": [
                0,
                0
            ],
            "Isolation": "",
            "CpuShares": 0,
            "Memory": 2147483648,
            "NanoCpus": 0,
            "CgroupParent": "",
            "BlkioWeight": 0,
            "BlkioWeightDevice": null,
            "BlkioDeviceReadBps": null,
            "BlkioDeviceWriteBps": null,
            "BlkioDeviceReadIOps": null,
            "BlkioDeviceWriteIOps": null,
            "CpuPeriod": 0,
            "CpuQuota": 0,
            "CpuRealtimePeriod": 0,
            "CpuRealtimeRuntime": 0,
            "CpusetCpus": "",
            "CpusetMems": "",
            "Devices": null,
            "DeviceCgroupRules": null,
            "DeviceRequests": null,
            "KernelMemory": 0,
            "KernelMemoryTCP": 0,
            "MemoryReservation": 0,
            "MemorySwap": 4294967296,
            "MemorySwappiness": null,
            "OomKillDisable": false,
            "PidsLimit": null,
            "Ulimits": [
                {
                    "Name": "nofile",
                    "Hard": 64000,
                    "Soft": 64000
                }
            ],
            "CpuCount": 0,
            "CpuPercent": 0,
            "IOMaximumIOps": 0,
            "IOMaximumBandwidth": 0,
            "MaskedPaths": null,
            "ReadonlyPaths": null
        },
        "GraphDriver": {
            "Data": {
                "LowerDir": "/blabla",
                "MergedDir": "/blablabla/merged",
                "UpperDir": "/blablabla/diff",
                "WorkDir": "/blablabla/work"
            },
            "Name": "overlay2"
        },
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/share/Containers/Dropbox_data",
                "Destination": "/opt/dropbox/.dropbox",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/share/Dropbox",
                "Destination": "/opt/dropbox/Dropbox",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
        "Config": {
            "Hostname": "CONTAINERS-DROPBOX",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "17500/tcp": {}
            },
            "Tty": true,
            "OpenStdin": true,
            "StdinOnce": false,
            "Env": [
                "LANG=en_US.UTF-8",
                "LANGUAGE=en_US.UTF-8",
                "LC_ALL=en_US.UTF-8",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "TZ=Europe/Rome",
                "DROPBOX_UID=1003",
                "DROPBOX_GID=100"
            ],
            "Cmd": [
                "/opt/dropbox/bin/dropboxd"
            ],
            "Image": "otherguy/dropbox:latest",
            "Volumes": {
                "/opt/dropbox/.dropbox": {},
                "/opt/dropbox/Dropbox": {}
            },
            "WorkingDir": "/opt/dropbox/Dropbox",
            "Entrypoint": [
                "/docker-entrypoint.sh"
            ],
            "MacAddress": "yeppa",
            "OnBuild": null,
            "Labels": {
                "com.qnap.qcs.gpu": "False",
                "com.qnap.qcs.network.mode": "bridge",
                "maintainer": "Alexander Graf <alex@otherguy.io>",
                "org.label-schema.build-date": "2020-09-06T22:05:59+00:00",
                "org.label-schema.description": "Standalone Dropbox client",
                "org.label-schema.name": "Dropbox",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vcs-ref": "2eca338",
                "org.label-schema.vcs-url": "https://github.com/otherguy/docker-dropbox"
            }
        },
        "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "yadablada",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/yadayada",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "dhcp-eth4": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": [
                        "214859e5ce77"
                    ],
                    "NetworkID": "yadasuda",
                    "EndpointID": "yadabluda",
                    "Gateway": "192.168.101.1",
                    "IPAddress": "192.168.101.10",
                    "IPPrefixLen": 24,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "yeppa",
                    "DriverOpts": null
                }
            }
        }
    }
]


edited, I copied the wrong data

That seems to be quite an old version, the commit is pointing to this release from April 2020. Can you please pull :latest again and recreate the container (restarting is not enough).

I would recommend that you pull otherguy/dropbox:1.8.4 and use tagged releases instead of :latest. That lets you see which version you're working with.

Mmmm I'm a bit confused
I rebuilt the container, so now it shows tag 1.8.4 (which is the latest), but it still points to the same commit 2eca338 as before
Moreover when running dropbox version inside the container, I get the same 2020.03.04 release

Can you walk me through how you rebuilt it? Also please run docker inspect otherguy/dropbox:1.8.4 again. The full output of how it should look like is below. Important is the Labels section that should look like this:

"Labels": {
    "maintainer": "Alexander Graf <alex@otherguy.io>",
    "org.label-schema.build-date": "2021-03-08T13:07:27+00:00",
    "org.label-schema.description": "Standalone Dropbox client",
    "org.label-schema.name": "Dropbox",
    "org.label-schema.schema-version": "1.0",
    "org.label-schema.vcs-ref": "c728bc8",
    "org.label-schema.vcs-url": "https://github.com/otherguy/docker-dropbox",
    "org.label-schema.version": "1.8.4"
}
$ docker inspect otherguy/dropbox:1.8.4
[
    {
        "Id": "sha256:2f7319bfa6cbed515d21983a86069d5a887c4a639d37cd545200cbc26996c749",
        "RepoTags": [
            "otherguy/dropbox:1.8.4",
            "otherguy/dropbox:latest"
        ],
        "RepoDigests": [
            "otherguy/dropbox@sha256:d7257ec2b93113bc8a057b14c0011504e98165aec9d62dfbe04f2563a4d2d8b3"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2021-03-08T13:08:34.892640472Z",
        "Container": "084d5daa32262364e02c01b397939ab494a285617d2d1af6a9ea8f3c955575db",
        "ContainerConfig": {
            "Hostname": "084d5daa3226",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "17500/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=C.UTF-8",
                "LC_ALL=C.UTF-8",
                "POLLING_INTERVAL=5"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "CMD [\"/opt/dropbox/bin/dropboxd\"]"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:47f1bf5059f9da89afc9f8da9e0c45cb7b903eeadb355a50be889a0caa38c95b",
            "Volumes": {
                "/opt/dropbox/.dropbox": {},
                "/opt/dropbox/Dropbox": {}
            },
            "WorkingDir": "/opt/dropbox/Dropbox",
            "Entrypoint": [
                "/docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {
                "maintainer": "Alexander Graf <alex@otherguy.io>",
                "org.label-schema.build-date": "2021-03-08T13:07:27+00:00",
                "org.label-schema.description": "Standalone Dropbox client",
                "org.label-schema.name": "Dropbox",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vcs-ref": "c728bc8",
                "org.label-schema.vcs-url": "https://github.com/otherguy/docker-dropbox",
                "org.label-schema.version": "1.8.4"
            }
        },
        "DockerVersion": "18.06.0-ce",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "17500/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=C.UTF-8",
                "LC_ALL=C.UTF-8",
                "POLLING_INTERVAL=5"
            ],
            "Cmd": [
                "/opt/dropbox/bin/dropboxd"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:47f1bf5059f9da89afc9f8da9e0c45cb7b903eeadb355a50be889a0caa38c95b",
            "Volumes": {
                "/opt/dropbox/.dropbox": {},
                "/opt/dropbox/Dropbox": {}
            },
            "WorkingDir": "/opt/dropbox/Dropbox",
            "Entrypoint": [
                "/docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {
                "maintainer": "Alexander Graf <alex@otherguy.io>",
                "org.label-schema.build-date": "2021-03-08T13:07:27+00:00",
                "org.label-schema.description": "Standalone Dropbox client",
                "org.label-schema.name": "Dropbox",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vcs-ref": "c728bc8",
                "org.label-schema.vcs-url": "https://github.com/otherguy/docker-dropbox",
                "org.label-schema.version": "1.8.4"
            }
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 697472680,
        "VirtualSize": 697472680,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/2ce3c42b5e4c5b51c31e7a2f95bfd1e100d4daee6d0c4e5471190c70e31d8e6e/diff:/var/lib/docker/overlay2/9b300bbf08a3041fa2cb2a89ca22a362c57f9cf1a19bbcde10673c63bb90d98e/diff:/var/lib/docker/overlay2/2b58c1715fadd421ed0711a5713984d776c824c653f84a610a602898da1c3587/diff:/var/lib/docker/overlay2/1673d5ab00ed25f0f99847269a1f16ea0c681e95f15b2578b438a897c68a03e9/diff:/var/lib/docker/overlay2/e73ad242a90c6bfbb0837fe783838da8cf70e62f8adc8365e51a7437ef201575/diff:/var/lib/docker/overlay2/f237ff919655efba58856e59fb4ed1dd469e135600e4128d2cc8e9a39e12874a/diff:/var/lib/docker/overlay2/1e9b5d5e59c797e9cb49495b228f30edc1655e6947850816ce9a4672a5f47b6b/diff",
                "MergedDir": "/var/lib/docker/overlay2/8707d1263cb919ab001ba6fc84c297c396f4e305fb179244ea8f13cdbf1c0868/merged",
                "UpperDir": "/var/lib/docker/overlay2/8707d1263cb919ab001ba6fc84c297c396f4e305fb179244ea8f13cdbf1c0868/diff",
                "WorkDir": "/var/lib/docker/overlay2/8707d1263cb919ab001ba6fc84c297c396f4e305fb179244ea8f13cdbf1c0868/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:9eb82f04c782ef3f5ca25911e60d75e441ce0fe82e49f0dbf02c81a3161d1300",
                "sha256:1c6a9061693de2cc2389d48c8f0b79f6f5720c6258446ccde6490211b3ca31a6",
                "sha256:e7b24f1790c6902af0cf71dfafe4ce1d8e00d35733e0619a16c5ada926b077d8",
                "sha256:c85fd4f1082ce8b12740ea730fbdfa7b57ef1964746a84600ccf1ccd296c1e7f",
                "sha256:412cbaf309aa8b232dd786dcc0c46307d718ffe484846af3355daa7dd3275118",
                "sha256:36f68f714cb32d81d530fed8df5d680cc02fde91d28590e0acd4fce1c234d56b",
                "sha256:099ab640d9c9e6f1540bf19eb4a7bba7c57dae62ad7b80f8364109fda37b5fb5",
                "sha256:0e7fb682893d63a45f18a6638454125af3f0706d0179d0ddfcda264a1e81198b"
            ]
        },
        "Metadata": {
            "LastTagTime": "2021-03-08T13:10:00.008106486Z"
        }
    }
]

I first did a "rebuild" from portainer
Now I completely rebuilt the container by re-creating a new one and pulling the tagged image, so here is the sha now

            "Labels": {
                "com.qnap.qcs.gpu": "False",
                "com.qnap.qcs.network.mode": "bridge",
                "maintainer": "Alexander Graf <alex@otherguy.io>",
                "org.label-schema.build-date": "2021-03-08T13:07:27+00:00",
                "org.label-schema.description": "Standalone Dropbox client",
                "org.label-schema.name": "Dropbox",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vcs-ref": "c728bc8",
                "org.label-schema.vcs-url": "https://github.com/otherguy/docker-dropbox",
                "org.label-schema.version": "1.8.4"
            }

But the gosu dropbox dropbox version still shows 2020.03.04

Generally, version 2020.03.04 for the CLI is fine!

Dropbox daemon version: Not installed
Dropbox command-line interface version: 2020.03.04

Just to make sure, how exactly are you running that gosu dropbox dropbox version command?

When starting the container, you should see: Starting dropboxd (117.4.378)... which is the latest version.

As I mentioned I have portainer running on that machine, so the easiest way for me is to log into portainer, and do an "exec console" on that container

Starting dropboxd (117.4.378)
yes I do have this line in the logs, so it updated now then?

Thanks, I just wanted to make sure you're executing this on the already running container, and not a new one.

Yes, looks like it's all updated! As for the CLI version, it seems that 2020.03.04 is indeed the latest one.

If you want to check the Dropbox Daemon version, aka the real version, you can run the following command (no need for gosu):

docker exec -it dropbox cat /opt/dropbox/bin/VERSION