Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

How to install Docker plugins? - specifically rclone volume plugin

Featured Replies

Hi,

 

I'm trying to install the docker volume plugin for rclone, as described here: https://rclone.org/docker/

 

If i follow all the steps, I'm also able to create the volume mentioned in the documentation with my own sftp host. So in general, the plugin seems to work fine.

 

As soon as i reboot the system, the docker daemon will not come back and the logs are spammend with:

Sep 26 21:02:14 Tower unraid-api[13420]: ⚠️ UNRAID API crashed with exit code 1
Sep 26 21:02:20 Tower unraid-api[13669]: ✔️ UNRAID API started successfully!
Sep 26 21:02:21 Tower unraid-api[13669]: ⚠️ Caught exception: connect ECONNREFUSED /var/run/docker.sock

 

The docker logs indicate a crash, but I'm not sure what to make of it:
 

time="2024-09-26T20:07:42.215423328+02:00" level=info msg="loading plugin \"io.containerd.internal.v1.shutdown\"..." runtime=io.containerd.runc.v2 
type=io.containerd.internal.v1
time="2024-09-26T20:07:42.215478433+02:00" level=info msg="loading plugin \"io.containerd.ttrpc.v1.pause\"..." runtime=io.containerd.runc.v2 type=i
o.containerd.ttrpc.v1
time="2024-09-26T20:07:42.215492900+02:00" level=info msg="loading plugin \"io.containerd.event.v1.publisher\"..." runtime=io.containerd.runc.v2 ty
pe=io.containerd.event.v1
time="2024-09-26T20:07:42.215502680+02:00" level=info msg="loading plugin \"io.containerd.ttrpc.v1.task\"..." runtime=io.containerd.runc.v2 type=io
.containerd.ttrpc.v1
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x263cfdb]

goroutine 90 [running]:
github.com/docker/docker/pkg/plugins.(*Client).callWithRetry(0x0, {0x80d939, 0x19}, {0xb65d20, 0xc00052a2a0}, 0x1, {0xc000ac4298, 0x1, 0x1c57106?})
        /go/src/github.com/docker/docker/pkg/plugins/client.go:169 +0x15b
github.com/docker/docker/pkg/plugins.(*Client).CallWithOptions(0x4d79a0?, {0x80d939, 0x19}, {0x455780, 0x379c380}, {0x2fc6a0, 0xc000adc820}, {0xc00
0ac4298, 0x1, 0x1})
        /go/src/github.com/docker/docker/pkg/plugins/client.go:122 +0x185
github.com/docker/docker/volume/drivers.(*volumeDriverProxy).Capabilities(0xc0000322d0)
        /go/src/github.com/docker/docker/volume/drivers/proxy.go:244 +0xfa
github.com/docker/docker/volume/drivers.(*volumeDriverAdapter).getCapabilities(0xc00052a270)
        /go/src/github.com/docker/docker/volume/drivers/adapter.go:93 +0x68
github.com/docker/docker/volume/drivers.(*volumeDriverAdapter).Scope(0xc00002f8c0?)
        /go/src/github.com/docker/docker/volume/drivers/adapter.go:85 +0x19
github.com/docker/docker/volume/drivers.validateDriver({0xb90268, 0xc00052a270})
        /go/src/github.com/docker/docker/volume/drivers/extpoint.go:117 +0x2b
github.com/docker/docker/volume/drivers.(*Store).lookup(0xc000ac2c30, {0xc00090f8b0, 0xd}, 0x0)
        /go/src/github.com/docker/docker/volume/drivers/extpoint.go:96 +0x2cc
github.com/docker/docker/volume/drivers.(*Store).GetDriver(...)
        /go/src/github.com/docker/docker/volume/drivers/extpoint.go:149
github.com/docker/docker/volume/service.lookupVolume({0x0?, 0x0?}, 0x0?, {0xc00090f8b0?, 0x0?}, {0xc00090f8a0, 0x9})
        /go/src/github.com/docker/docker/volume/service/store.go:769 +0x72
github.com/docker/docker/volume/service.(*VolumeStore).restore.func2({{0xc00090f8a0, 0x9}, {0xc00090f8b0, 0xd}, 0xc000ac3a10, 0xc000ac3a40})
        /go/src/github.com/docker/docker/volume/service/restore.go:37 +0x186
created by github.com/docker/docker/volume/service.(*VolumeStore).restore
        /go/src/github.com/docker/docker/volume/service/restore.go:31 +0xbf
panic: invalid freelist page: 2, page type is leaf

goroutine 1 [running, locked to thread]:
go.etcd.io/bbolt.(*freelist).read(0x0?, 0x1516f0218000)
        /go/src/github.com/docker/docker/vendor/go.etcd.io/bbolt/freelist.go:267 +0x22e
go.etcd.io/bbolt.(*DB).loadFreelist.func1()
        /go/src/github.com/docker/docker/vendor/go.etcd.io/bbolt/db.go:415 +0xb8
sync.(*Once).doSlow(0xc000862408?, 0x10?)
        /usr/local/go/src/sync/once.go:74 +0xc2
sync.(*Once).Do(...)
        /usr/local/go/src/sync/once.go:65
go.etcd.io/bbolt.(*DB).loadFreelist(0xc000862240?)
        /go/src/github.com/docker/docker/vendor/go.etcd.io/bbolt/db.go:408 +0x47
go.etcd.io/bbolt.Open({0xc00082c300, 0x23}, 0x83e7e0?, 0xc0009fecf8)
        /go/src/github.com/docker/docker/vendor/go.etcd.io/bbolt/db.go:290 +0x40c
github.com/docker/docker/volume/service.NewStore({0xc0004d4dc0, 0xf}, 0xc00085e690, {0xc0009fede8, 0x1, 0x0?})
        /go/src/github.com/docker/docker/volume/service/store.go:108 +0x2f1
github.com/docker/docker/volume/service.NewVolumeService({0xc0004d4dc0, 0xf}, {0xb8ac08?, 0xc0005d37a0}, {0x17?, 0x7fb966?, {0x0?, 0xc000ac78b0?}},
 {0xb67b80, 0xc00073ab40})
        /go/src/github.com/docker/docker/volume/service/service.go:50 +0x1f3
github.com/docker/docker/daemon.NewDaemon({0xb8a000?, 0xc000ac67d0}, 0xc00070ea00, 0xc0005d37a0, 0xc000062e20)
        /go/src/github.com/docker/docker/daemon/daemon.go:970 +0x18a9
main.(*DaemonCli).start(0xc0004e0e40, 0xc0006c5c70)
        /go/src/github.com/docker/docker/cmd/dockerd/daemon.go:232 +0xae9
main.runDaemon(...)
        /go/src/github.com/docker/docker/cmd/dockerd/docker_unix.go:14
main.newDaemonCommand.func1(0xc00070a000?, {0xc0006c5ce0?, 0x7?, 0x7?})
        /go/src/github.com/docker/docker/cmd/dockerd/docker.go:39 +0x94
github.com/spf13/cobra.(*Command).execute(0xc00070a000, {0xc000052090, 0x7, 0x7})
        /go/src/github.com/docker/docker/vendor/github.com/spf13/cobra/command.go:916 +0x862
github.com/spf13/cobra.(*Command).ExecuteC(0xc00070a000)
        /go/src/github.com/docker/docker/vendor/github.com/spf13/cobra/command.go:1044 +0x3bd

 

 

I'm using docker in folder mode. To recover from this problem, i stopped the service and reverted to a previous snapshot (cache drive is ZFS). 


Do you have any recommendation/guides how to install docker plugins in general? I tried a forum  search but "docker plugin" is quite ambiguous on this forum.

tower-diagnostics-20240926-2118.zip

Edited by buxel

Solved by buxel

  • buxel changed the title to How to install Docker plugins? - specifically rclone volume plugin
  • Author

@JorgeB sorry for pinging you directly - you seem to be knowledgeable around here. I kept trying a few more times with the same result.

I'm running out if ideas. Any hints how i could get to the root of this?

Edited by buxel

  • Community Expert

Try changing the docker folder to an image, that's a generic error but sometimes changing to an image, or just recreating the image, can help.

 

https://docs.unraid.net/unraid-os/manual/docker-management/#re-create-the-docker-image-file
Then:
https://docs.unraid.net/unraid-os/manual/docker-management/#re-installing-docker-applications
Also see below if you have any custom docker networks:
https://docs.unraid.net/unraid-os/manual/docker-management/#docker-custom-networks

  • Author

Hi @JorgeB,

 

Thank you for the advice. I followed the steps and am back to an image based docker for now.

 

I re-installed the plugin but adapted the config/cache paths to point to `/var/lib/docker/plugins/rclone/cache` instead of (according to the manual) `/var/lib/docker-plugins/rclone/cache`. I checked how /var/lib/docker is mounted and figured plugins should go there... right?

 

After another reboot, the plugin seemed to be gone again, but with a different error. 

 

root@Tower:~# docker plugin ls
ID             NAME            DESCRIPTION                       ENABLED
4e58ab121161   rclone:latest   Rclone volume plugin for Docker   false

root@Tower:~# docker plugin enable rclone
Error response from daemon: dial unix /run/docker/plugins/4e58ab121161290ac437b5ae49ed12822739f67e5421f2d343c389178a1019d2/rclone.sock: connect: no such file or directory

 

The plugin somehow is still registered, but disabled. Enabling it, gives the error shown above.

 

To my understanding my adapted paths should be relevant, once the plugin loads. So even if they are not correct, there is something else amiss.

  • Community Expert

Sorry but cannot help with that, it's a container specific issue, you can try asking the container author/maintainer.

  • Author
  • Solution

@JorgeB thank you for the confirmation. I just thought some conflict with Unraid running in memory and how i installed the docker plugin.

I'll do my research on rclone now.

 

EDIT: for anyone with the same problem, this issue is tracked here: https://github.com/rclone/rclone/issues/7466

Edited by buxel

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...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.