Jump to content

Change Server from Windows to Linux


TheBigTeam

Recommended Posts

Happy2Play

@TheBigTeam But you are changing platforms so all paths, image paths and possible subtitle path will be wrong in the database and per library config so on first scan everything will be purged.

Unless you manually update all the info listed in the database and library configs.

But can only guess permissions if you are having issue replacing existing Emby programdata folder.

That is why it is only recommended to install the server and use plugin to restore users and userdata.

  • Like 2
Link to comment
Share on other sites

TheBigTeam
10 minutes ago, Happy2Play said:

@TheBigTeam But you are changing platforms so all paths, image paths and possible subtitle path will be wrong in the database and per library config so on first scan everything will be purged.

Unless you manually update all the info listed in the database and library configs.

But can only guess permissions if you are having issue replacing existing Emby programdata folder.

That is why it is only recommended to install the server and use plugin to restore users and userdata.

Ah. Well I am having issues that route as well. I can literally go into my files, see the hard drive and back up folder. In the Emby server I cannot find it. When I copy the path of the backup and paste it in, says it doesn't exist.

Link to comment
Share on other sites

12 minutes ago, TheBigTeam said:

Ah. Well I am having issues that route as well. I can literally go into my files, see the hard drive and back up folder. In the Emby server I cannot find it. When I copy the path of the backup and paste it in, says it doesn't exist.

That sounds like the emby user does not have permissions. That is probably related to mount permissions if they are on a USB device, or file permissions if it is on the server disks

Link to comment
Share on other sites

TheBigTeam
9 minutes ago, SamES said:

That sounds like the emby user does not have permissions. That is probably related to mount permissions if they are on a USB device, or file permissions if it is on the server disks

In either case I don't know how to fix that.

Link to comment
Share on other sites

Q-Droid
10 hours ago, TheBigTeam said:

This is what I am trying to accomplish. I cannot figure out why I am not allowed to copy and paste the files over to my new Emby Server. I am running Pop_Os, which is Ubuntu based.

emby.jpg

This is not going to work from Windows to Linux. The locations will not be identical or even close so your procedure has to change.

Install Emby on new machine.

Make sure the storage for the libraries is available and accessible to the emby server. This means getting into ownership and permissions so that the new emby server runtime process can navigate, read and write to the new library paths.

Define your libraries as you had them on Windows but with the new locations/paths.

After the scan

Find a location/path/folder that is accessible on the new emby server. It can be temporary but has to be readable. You can even create one like /var/lib/emby/restore.

Copy the backup folder from Windows to this path. Then recursively change ownership to emby. (chown -R emby:emby /var/lib/emby/restore).

Install the backup plugin and configure the path. You should now be able to see the backups.

Run the selective restore - I can't offer much on the details for this step.

The "restore" folder name above is deliberate. It should only be temporary but it's the easiest way to get you on the right track. After you restore you should then create an external path to reconfigure the backup plugin and use as the backup destination going forward.

 

 

  • Like 1
Link to comment
Share on other sites

  • 1 year later...
evilpig

It took me a while, but after some trial and error I managed to get my old library working on my new linux server running emby in Docker. I added new libraries and scanned, then I closed emby and copied these files from my backup and rebooted it to check and all my users were imported and had to change a few settings over. activitylog.db, authentication.db, users.db

I then opened the library.db file in DB Browser for SQLlite, ran this code (edit it for your system) and copied the edited library.db file to the new server and it WORKED. It's missing a few things but the library rebuild got it. Don't know anything about SQL but can read code okay.  Got the idea from this code https://gist.github.com/martinbowling/653386f5b7a4b8426854fc01400f0bca#file-fix-windows-sonarr-db-for-linux which I will be attempting on sonarr and radarr tomorrow. Need to sleep now.

UPDATE "main"."MediaItems" SET "Path" = replace( "Path", '\', '/' ) WHERE path LIKE '%:\%';
UPDATE "main"."MediaItems" SET "Path" = replace( "Path", 'D:/Movies', '/data/movies' ) WHERE path LIKE 'D:/Movies%';
UPDATE "main"."MediaItems" SET "Path" = replace( "Path", 'E:/TVMyth', '/data/tvshows/Mythbusters Original' ) WHERE path LIKE 'E:/TVMyth%';
UPDATE "main"."MediaItems" SET "Path" = replace( "Path", 'E:/TV', '/data/tvshows' ) WHERE path LIKE 'E:/TV%';
UPDATE "main"."MediaItems" SET "Images" = replace( "Images", '\', '/' ) WHERE Images LIKE '%:\%';
UPDATE "main"."MediaItems" SET "Images" = replace( "Images", 'E:/TVMyth', '/data/tvshows/Mythbusters Original' ) WHERE Images LIKE 'E:/TVMyth%';
UPDATE "main"."MediaItems" SET "Images" = replace( "Images", 'E:/TV', '/data/tvshows' ) WHERE Images LIKE 'E:/TV%';
UPDATE "main"."MediaItems" SET "Images" = replace( "Images", 'D:/Movies', '/data/movies' ) WHERE Images LIKE 'D:/Movies%';

UPDATE "main"."MediaStreams2" SET "Path" = replace( "Path", '\', '/' ) WHERE path LIKE '%:\%';
UPDATE "main"."MediaStreams2" SET "Path" = replace( "Path", 'D:/Movies', '/data/movies' ) WHERE path LIKE 'D:/Movies%';
UPDATE "main"."MediaStreams2" SET "Path" = replace( "Path", 'E:/TVMyth', '/data/tvshows/Mythbusters Original' ) WHERE path LIKE 'E:/TVMyth%';
UPDATE "main"."MediaStreams2" SET "Path" = replace( "Path", 'E:/TV', '/data/tvshows' ) WHERE path LIKE 'E:/TV%';

 

Edited by evilpig
  • Thanks 1
Link to comment
Share on other sites

6 minutes ago, evilpig said:

It took me a while, but after some trial and error I managed to get my old library working on my new linux server running emby in Docker. I added new libraries and scanned, then I closed emby and copied these files from my backup and rebooted it to check and all my users were imported and had to change a few settings over. activitylog.db, authentication.db, users.db

I then opened the library.db file in DB Browser for SQLlite, ran this code (edit it for your system) and copied the edited library.db file to the new server and it WORKED. It's missing a few things but the library rebuild got it. Don't know anything about SQL but can read code okay.  Got the idea from this code https://gist.github.com/martinbowling/653386f5b7a4b8426854fc01400f0bca#file-fix-windows-sonarr-db-for-linux which I will be attempting on sonarr and radarr tomorrow. Need to sleep now.

UPDATE "main"."MediaItems" SET "Path" = replace( "Path", '\', '/' ) WHERE path LIKE '%:\%';
UPDATE "main"."MediaItems" SET "Path" = replace( "Path", 'D:/Movies', '/data/movies' ) WHERE path LIKE 'D:/Movies%';
UPDATE "main"."MediaItems" SET "Path" = replace( "Path", 'E:/TVMyth', '/data/tvshows/Mythbusters Original' ) WHERE path LIKE 'E:/TVMyth%';
UPDATE "main"."MediaItems" SET "Path" = replace( "Path", 'E:/TV', '/data/tvshows' ) WHERE path LIKE 'E:/TV%';
UPDATE "main"."MediaItems" SET "Images" = replace( "Images", '\', '/' ) WHERE Images LIKE '%:\%';
UPDATE "main"."MediaItems" SET "Images" = replace( "Images", 'E:/TVMyth', '/data/tvshows/Mythbusters Original' ) WHERE Images LIKE 'E:/TVMyth%';
UPDATE "main"."MediaItems" SET "Images" = replace( "Images", 'E:/TV', '/data/tvshows' ) WHERE Images LIKE 'E:/TV%';
UPDATE "main"."MediaItems" SET "Images" = replace( "Images", 'D:/Movies', '/data/movies' ) WHERE Images LIKE 'D:/Movies%';

UPDATE "main"."MediaStreams2" SET "Path" = replace( "Path", '\', '/' ) WHERE path LIKE '%:\%';
UPDATE "main"."MediaStreams2" SET "Path" = replace( "Path", 'D:/Movies', '/data/movies' ) WHERE path LIKE 'D:/Movies%';
UPDATE "main"."MediaStreams2" SET "Path" = replace( "Path", 'E:/TVMyth', '/data/tvshows/Mythbusters Original' ) WHERE path LIKE 'E:/TVMyth%';
UPDATE "main"."MediaStreams2" SET "Path" = replace( "Path", 'E:/TV', '/data/tvshows' ) WHERE path LIKE 'E:/TV%';

 

Thanks! We need to add a similar thing to the restore process of the backup plugin to assist with changing platforms.

  • Like 3
Link to comment
Share on other sites

  • 2 months later...
Boburto

A suggestion for the restore process, currently we need to enter our premiere key before restore works. Would be nice if it could detect the backup was from a premiere system and allow restore.

Link to comment
Share on other sites

24 minutes ago, Boburto said:

A suggestion for the restore process, currently we need to enter our premiere key before restore works. Would be nice if it could detect the backup was from a premiere system and allow restore.

HI, yes that's a great suggestion. Makes perfect sense. Thanks for the feedback.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...