Migrated from Windows to Docker and getting errors

I’m migrating from Windows to Docker (Ubuntu) using Portainer and having some issues starting up the instance.

I’ve copied all storage contents from D:\Storj on my Windows Server to /data/storj on my Docker-Ubuntu Host (which is actually an NFS mount point)

I’ve copied all contents of %APPDATA%\Storj\Identity\storagenode to /home/user/Storj/identity

I have two mount point volumes on the Storj container:

Container: /app/identity
Host: /home/user/Storj/identity

Container: /app/config
Host: /data/storj

I’ve added environment variables for WALLET, EMAL, ADDRESS, STORAGE, and also passed through PGID and PUID just in case.

When I try to start up the container I get the following in the logs:

2021-07-19T15:47:33.807Z INFO Operator email {“Address”: “[email address]”}
2021-07-19T15:47:33.807Z INFO Operator wallet {“Address”: “[wallet address]”}
Error: Error starting master database on storagenode: database: locking protocol
storj,io/storj/storagenode/storagenodedb.(*DB).openDatabase:323
storj,io/storj/storagenode/storagenodedb.(*DB).openExistingDatabase:305
storj,io/storj/storagenode/storagenodedb.(*DB).openDatabases:281
storj,io/storj/storagenode/storagenodedb.OpenExisting:248
main.cmdRun:160
storj,io/private/process.cleanup.func1.4:363
storj,io/private/process.cleanup.func1:381
github,com/spf13/cobra.(*Command).execute:852
github,com/spf13/cobra.(*Command).ExecuteC:960
github,com/spf13/cobra.(*Command).Execute:897
storj,io/private/process.ExecWithCustomConfig:88
storj,io/private/process.ExecCustomDebug:70
main.main:385
runtime.main:204

*Note I’ve had to replace some “.” in the above log with “,” due to new users not being able to post >2 links.

Any ideas?

Thanks for the reply!

I have a single 4 bay server that I’m running Proxmox on.

There is a VM on there running Ubuntu Server with Docker installed. Portainer is being used to manage all containers.

The 4 disks are passed straight through to a VM running Windows Server 2019.

NFS/SMB shares exist on Windows Server 2019 VM to serve data to the docker containers.

Based on what you’ve said I may need to try and add an iSCSI target on the Windows VM just for Storj?

Hello @thedelph ,
Welcome to the forum!

You should copy the content of D:\Storj to /data/storj/storage unless you using Docker for Windows.
The mount will remain the same, as you specified, i.e. --mount type=bind,source=/data/storj/,destination=/app/config

Better to copy to the folder on the disk with data. The identity without data is useless and data without the identity is useless too.

Network filesystems are not supported, include but not limited to NFS and SMB. The only compatible network protocol for storage is iSCSI.
The exception is SMB when the server and the client are both Windows. Heterogenic environments will not work or will produce issues.
See
https://forum.storj.io/tag/nfs
https://forum.storj.io/tag/smb