I’ve been having a difficult time understanding where play history is located. In Docker, I understand the server data is kept here:
plexmediaserver/Library/Application Support/Plex Media Server/
I just don’t know how to recover the play history from a previous install and import it into the current install.
See Sync Watch State and Ratings. This uploads the info to your account at plex.tv. The info is synchronized across all servers to which you have access and also with the Plex video on demand service. It can help when moving to a new server. It is an account, not server, setting. Anyone you share with should also enable the setting.
To more specifically answer your question, play history is stored in the Plex Media Server database.
There are two ways to accomplish moving the information: (1) Copy over the entire database from the prior system or (2) extract the information from the prior system’s database and write it to the current system’s database.
If you are in the process of migrating from an old to new system, see Move an Install to Another System. This moves the entire Plex Data Folder to the new system. If you skip the “Copy additional server settings…” section (the preferences.xml file), you can run both the old and new servers at the same time.
The process extracts the information from the old Plex database and writes it into the new Plex database.
Important: You should use the Plex version of SQLITE when extracting & writing the information. See Locating the Plex SQLite tool.
I used the “Move Viewstate/Ratings…” process when migrating to a new server ~2 years ago. I do not remember if it copies the full play history (the time/date when watched), but it definitely copies over the watched/unwatched state and progress for partially viewed media.