r/selfhosted•
sysLee

Movary - Self hosted web app to track and rate your watched movies

Hey community!

For years I was only a user of open source projects, now I want to give a little bit back.

I have created movary, a self-hosted web application to track and rate watched movies, similar to services like trakt.tv or letterboxd.com. After years of tracking my watch history with commercial services I was getting afraid what would happen if one of these services would stop providing their website or if they "lose" their databases. What about my watch history and ratings? I wanted access to this data in an easy and reliable way, so I started working on this project. It stores all used (meta)data locally, provides third party api integrations with e.g. plex and a few things more (check the README of the project).

I think I want to release the first stable version soon and would be happy over any feedback.

Posted Dec 22, 2022, 6:00 PM UTC · edited

4426
minnixtx•

I've been looking for a self hosted alternative to letterboxd. There is bookwyrm for goodreads. Hopefully this will be a good start. I like the social aspect of letterboxd quite a bit and bookwyrm has that. Maybe down the line federation would be something you would consider?

2
sysLeeOP•

Never say never, I would not rule that out categorically. But for now my personal focus is not on social aspects (except for the ones already implemented) but on making the experience and usability better for the individual user. Maybe we are lucky and there will be other contributors who want to work on this.

2
Madiator2011•

ActivityPub mayby?

2
rrrmmmrrrmmm•

Are you getting on par with the features of u/bonukai/'s MediaTracker?

It would be nice not only to have Trakt import/export but an ongoing sync. So if players support Trakt scrobbling, these movies/series would also appear in the selfhosted solution.

2
MegaVolti•

If I read the features correctly, this is already possible when using Plex. The Movary-Plex scrobbler can write to Movary, so if you also run the Trakt scrobbler, any movie you watch should show up in both, keeping them in sync.

Having a Jellyfin scrobbler would be awesome, though, especially since it has become more popular than Plex among self hosters.

2
rrrmmmrrrmmm•

Well, I'm not using Plex any more but I'm watching movies and series with Kodi and often with r/NovaVideoPlayer/ (GitHub). Soon I'll add Jellyfin to that.

And since there are so many players it's unlikely to have a similar integration coverage I guess. That's why I'm asking.

2
sysLeeOP•

Movary will (probably) not be able to provide the same amount of integrations like a company with a big community like trakt does, you are definitely right there! In my mind the data flow in situations like this is like you proposed: Third party video service -> scrobble e.g. via trakt -> sync from trakt to movary

It still sucks of course if e.g. trakt goes down, you will lose these external scrobble features, but at least you still have your data and can search for an alternative solution to integrate with movary again.

3
sysLeeOP•

The Movary-Plex scrobbler can write to Movary, so if you also run the Trakt scrobbler, any movie you watch should show up in both, keeping them in sync.

Correct!

Having a Jellyfin scrobbler would be awesome

Yes I was thinking about this too, I am just not sure how much of an effort it will be to implement this (Plex scrobbler is pretty easy to implement). I have created a ticket and will look into it.

1
sysLeeOP•

I had a look at MediaTracker. The focus of movary is on movies, so if you want to track more of your media movary is not the right solution. In regards to movie tracking I think movary offers (or will offer) more features (advantage of focusing on one media type).

There already is automatic scrobbling implemented for Plex watches and ratings. If there are other applications which support scrobbling and you whish to be added to movary I can look into it. In the meantime you can for example schedule Trakt imports via cronjob, to keep movary up to date.

2
SirVer51•

Holy crap, I've been looking for something like this for so long! I even made a post about it in this sub a couple of years ago and thought I was going to have to make it myself - I'm glad someone actually sat down and did it. I'm going to try this the first chance I get.

1
MegaVolti•

This looks really amazing! I've been looking for a good self hosted media tracking tool and sadly there currently just isn't a good one.

Personally, I use Simkl for now. It's not self-hosted but it does offer a very simple but powerful CSV import and export. So if they ever shut down, I at least know that I have a backup of my data save as simple CSV file. CSV export is a pro feature, but pro freatures become free after 20 days of use, so there is no downside.

Regarding feedback:

  • I really like the UI. Simple, functional. A few display options (e.g. list view instead of grid view, sort by various characteristics) would be amazing.
  • I see that you essentially have a CSV import, hidden behind the Letterboxd import. It might be worth it to turn that into a general CSV import - similar to how Simkl handles it.
  • Currently it seems to be movies only. People tracking movies generally also want to track TV series - do you have any plans to add this capability?
  • With Simkl, there is a very mature hosted service for movie and series tracking that gives you control over your data with the CSV export, so there is no need to worry about the service shutting down. However, there is no such hosted service for game tracking! I think there might be an even bigger demand for a self hosted computer game tracker, working pretty much exactly like yours for movies, just linked to TGDB. And of course with CSV import and export functionality, in order to get existing game lists in and have easy access to them. You don't happen to have any plans to expand the capabilities to include games as well?
  • You might have come across bonukas media tracker already. It offers movie, series, game and book tracking, with lots of awesome features. Sadly no CSV import, though, and it's not really being developed any more. But it should still be a great source of inspiration, especially if you are considering adding game or series (or even book) capabilities.
2
sysLeeOP•

A few display options (e.g. list view instead of grid view, sort by various characteristics) would be amazing.

List vs Grid view is a create idea, I will add this. Sorting by and filtering is already possible, but of course more options could be added.

I see that you essentially have a CSV import, hidden behind the Letterboxd import. It might be worth it to turn that into a general CSV impor

This does already exist on the account settings page, you can export/import your history and ratings directly as csvs! This was one of the first things I implemented because of the focus on the user owning his/her data. The Letterboxd import is a separate feature.

People tracking movies generally also want to track TV series - do you have any plans to add this capability?

No, not at the moment. I want to focus solely on movies to make this part as good and feature rich as possible. The plan was not for movary to be a replacement for other (general) media tracking services but as a tailor-made app specific for movies.

I think there might be an even bigger demand for a self hosted computer game tracker

That is probably true, but sadly I am not gaming much anymore myself and have no personal interest in tracking this. The little time I have (beside my full time job and family) I am working on projects I am personally invested in, otherwise I would not have the motivation for it.

You might have come across bonukas media tracker already

I did hear about it for the first time in this thread, I will definitely keep it in mind as a source of inspiration!

1
jogai-san•

I like the feature "Most watched _____".

A dark mode would be nice

2
sysLeeOP•

Thanks! I am planing to add more statistics like the Most watched stuff, this is just the start.

Yeah a dark mode would really be nice, was thinking about this too, but it was not high enough on my list yet. I will create a ticket to look into this more.

1
jogai-san•

Also, for a selfhosted solution it's recommended to not depend on a cdn for scripts. But at least for now, you can change it to the same host like this (also, newer versions)

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha256-wLz3iY/cO4e6vKZ4zRmo4+9XDpMcgKOvv/zEU3OMlRo=" crossorigin="anonymous">

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js" integrity="sha256-pvPw+upLPUjgMXY0G+8O0xUf+/Im1MZjXxxgOcBQBXU=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha256-m81NDyncZVbr7v9E6qCWXwx/cwjuWDlHCMzi9pjMobA=" crossorigin="anonymous"></script>
2
sysLeeOP•

Thanks for pointing this out, I was made aware of this yesterday in another thread, the external cdns were left there by accident after the initial proof of concept phase and will be removed very soon!

Edit: external CDNs are now all removed

1
osuhickeys•

Just spun it up and liking what I am seeing. Thanks for giving back. Since Plex integration is a web hook, guessing Movary only gets notified on new watched movies? Would be cool if Movary could pull watch history from Plex directly.

A few suggestions:

  • Add environment variable to auto setup the database initially on first run
  • Add environment variables to create user on first run
  • Dark modes as previously suggested

A few issues I encountered:

  • WebUI periodically fails to load while trakt import is running
  • trakt import fails after importing subset of watched movies. Have run 4 times and imported 958 movies out of 2,000+. API limiting possibly or just trakt still impaired from last weeks debacle?
2
sysLeeOP•

Would be cool if Movary could pull watch history from Plex directly.

Good idea! I have to look into how this could be implemented.

WebUI periodically fails to load while trakt import is running

Yes, sadly this is an issue with sqlite (at least I think you probably are using sqlite?), the import is blocking the database a lot and when you are loading the UI at the same time the request fails because the database cannot be accessed. Not sure how to fix this yet, this is why I did not enable sqlite as default and recommend using mysql for now.

trakt import fails after importing subset of watched movies

Hm good questions, I have only imported ~800 movies in a row yet and this worked always fine. I would love to see your logs when this happened!

Edit: It could be that your import problems are the same as the UI load issues, sqlite blocking, I could just reproduce that. I guess I should prioritize finding a solution here

1
osuhickeys•

Yes, I am using sqlite.

Might look at plex-trakt-sync for inspiration to determine how to get watched history from plex.

2
sysLeeOP•

I think I found a fix for the sqlite issues! If you fell motivated, I would appreciated very much if you could pull the latest version 0.35.3 and try to import to a fresh database again. I hope you do not experience random errors any more. If you still do I would appreciate the log entries to the error very much <3

Might look at plex-trakt-sync

Thanks for the tip, will do.

1
osuhickeys•

UI issue seems to be resolved. Import worked until it reached 999 movies and then failed. Opened issue on GH and uploaded the log file.

https://github.com/leepeuker/movary/issues/184

2
jogai-san•

sqlite?), the import is blocking the database a lot

I dont know php well, but why not prepare the data in memory, and then do one big update/insert? I dont think 2000 rows are that taxing, even for sqlite.

1
leaflock7•

it looks really interesting and nice. I will definitely try it
The only thing I would consider as a must for a permanent place on my home, is to include 2 things

  1. Jellyfin integration - a huge amount of self-hosters is using it
  2. TV show/series implementation . I think most people are 50-50 between movies and series and series are much harder to track especially when they are multi-season

keep up the good work!

2

RemindMe! 1 day

0
RemindMeBot•

I will be messaging you in 1 day on 2022-12-24 11:18:21 UTC to remind you of this link

CLICK THIS LINK to send a PM to also be reminded and to reduce spam.

^(Parent commenter can ) ^(delete this message to hide from others.)


^(Info)^(Custom)^(Your Reminders)^(Feedback)
0