Jump to content

Developing a standalone embystat server


reggi

Recommended Posts

reggi

@@Spaceboy, thanks for the feedback!

 

It's indeed a good idea to switch from library types to library names. I will have to do some refactoring for that to work but it will be a good improvement.

I created two issues for your remarks on GitHub. Feel free to add some comment if I missed something.

https://github.com/mregni/EmbyStat/issues/815

https://github.com/mregni/EmbyStat/issues/819

  • Like 2
Link to comment
Share on other sites

Spydawg

Well i tried to install this on my unraid server.  couldn't get it to work at all.  the embystat folder on  my unraid never gets anything installed in it.  Any Docker Repositories I can add into unraid to have this install easier?

 

Thanks

Link to comment
Share on other sites

Macieksoft

Well i tried to install this on my unraid server. couldn't get it to work at all. the embystat folder on my unraid never gets anything installed in it. Any Docker Repositories I can add into unraid to have this install easier?

 

Thanks

I don't remember the settings to get this working but I can be done on unraid. The bigger problem though is that no data is mapped to the appdata folder so each time you update the docker it will fully reset all settings/info. At least that's what happened a while back.

Link to comment
Share on other sites

Spydawg

Well hopefully someone at unraid picks this up and adds it to there list so it'll be easier to install for newbs like me.

Link to comment
Share on other sites

Essjay10

@reggi  for unraid docker, the biggest thing we'd need is to map folder(s) that need to remain. can you help us by listing what folder or folders are needed to persist? I can help create a quick guide how to install it for others that are looking to use it on unraid.

  • Like 2
Link to comment
Share on other sites

reggi

Hey @@Kewjoe. Thanks for the help!

 

Following folders need to presist when removing and reinstalling the container

/app/Database

/app/Logs

/app/Settings

 

Is there a way I can create some kind of special container for unraid that would make it easier working on unraid? I have never worked with that OS and because it seems not to work on a VM I can't really test it myself.

The app itself has an update mechanism so there is no need to redeploy the full container when I push a new version to the docker hub. But, if I understand correctly, that seems to go automatically?

Link to comment
Share on other sites

gerritv

Just installed on Windows Server 2012R2. No issues, quite prompt (>1400 movies). Not using NSSM, yet. Not using Docker either.

Count/Rating are all lumped under Unknown.

Count/year etc are all empty.

 

(To be honest though I didn't read through all of the 20 pages of posts :-( )

 

Gerrit

Edited by gerritv
  • Like 1
Link to comment
Share on other sites

reggi

Hey gerritv, thanks for testing the application and no problem that you didn't read the 20 page thread :D 

 

As for the empty stats, that is because since the new Emby version 4.2.0.40 they removed some values when you query the Emby database. I have a test version running on my pc included the needed values and it's working again. So tonight or tomorrow I will release a new beta. 

Hopefully then the statistics should word again.

  • Like 1
Link to comment
Share on other sites

thekingswolf

hmmm everything seems to be connected, I can see all my movies and shows and users, but user pages all show 0 watches and I know there is activity on these accounts since I set up embystat.  super cool so far tho, hopefully i'll be able to get the user stats fixed.

 

Also, database cleanup job is throwing job failed.  

 

Here is log:

https://paste.ubuntu.com/p/wZj2YHGnTK/

 

 

Also, would be nice to be able to restart embystat inside the dashboard to clear logfile.

 

Running NSSM installed as service.

Edited by thekingswolf
Link to comment
Share on other sites

reggi

Hey everyone, 

 

This morning I released a new beta version with some small fixes. After the update you should run the media sync again to get the missing data from Emby. 

 

- Fixed issues with update to Emby 4.2.0.40

- Added people statistics on the show page again #82
- Hide ping job logs from UI #816
- Linking to new Emby detail page #811

- Fixed wrong movie duplicates #815

 

@@thekingswolf, thanks for testing the app. At the moment the user view statsistics are broken indeed and I'm working on getting the fixed asap. I do need to find a better way for displaying the user stats. So if anyone has an idea, feel free to create a mock or something.

As for the cleanup job, I'll create a github issue for that asap.

Edited by reggi
Link to comment
Share on other sites

WilhelmStroker

Tried the new version after completely removing the older version and it stopped working for me....In the GUI I get an unhandled backend exception, but unfortunately I can't get to the logs. Removed the service with NSSM, and when i just start the exe from the command line I get the following error:

 

C:\Tools\Embystat>embystat.exe
Hosting environment: Production
Content root path: C:\Tools\Embystat
Now listening on: http://[::]:6555
Application started. Press Ctrl+C to shut down.


Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at EmbyStat.Services.WebSocketService.TryToConnect(Object state) in d:\a\1\s\EmbyStat.Services\WebSocketService.cs:line 42
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
Link to comment
Share on other sites

jaycedk

 

Tried the new version after completely removing the older version and it stopped working for me....In the GUI I get an unhandled backend exception, but unfortunately I can't get to the logs. Removed the service with NSSM, and when i just start the exe from the command line I get the following error:

 

C:\Tools\Embystat>embystat.exe
Hosting environment: Production
Content root path: C:\Tools\Embystat
Now listening on: http://[::]:6555
Application started. Press Ctrl+C to shut down.


Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at EmbyStat.Services.WebSocketService.TryToConnect(Object state) in d:\a\1\s\EmbyStat.Services\WebSocketService.cs:line 42
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
   at System.Threading.ThreadPoolWorkQueue.Dispatch()

 

Same issue

Link to comment
Share on other sites

bozrdnag

I am trying to set this up on Unraid also and it seems to be running but there it hardly any information displayed.  Just total number of movies and genres and that's basically it.  Dashboard is totally blank.  Ids that correct in it's current state?  If not, can you post some screen shots of what info should be displayed.  Really curious about this.  Especially since the Stats plugin is broken.

Link to comment
Share on other sites

reggi

@@WilhelmStroker, @@jaycedk, I released a new beta version this morning that should fix the web socket service issue

 

@@thekingswolf, could you PM me your logs so I can check why it's failing?

 

@@bozrdnag, there are some issues with running EmbyStat on Unraid. Looks like every time I push a new docker image unraid removes the old version completely. That still needs to be fixed. What you see now with some static number is correct, the dashboard is still blank and nu user statistics are calculated. I'm trying to get a stable version now before added more and more features. Feel free to post new ideas about what you would like to see or create a feature on https://embystat.featureupvote.com/

Link to comment
Share on other sites

adrianwi

I've just recreated my docker container, and when I try to set embystat up I'm not getting past step 3 - emby sync.  It finds the emby server at the address/port but doesn't appear to like the username/password which is the exact same one I was using for the old container.  Error message says:

Getting Emby token failed. Please check your credentials and address.
  • Like 2
Link to comment
Share on other sites

WilhelmStroker

I've just recreated my docker container, and when I try to set embystat up I'm not getting past step 3 - emby sync.  It finds the emby server at the address/port but doesn't appear to like the username/password which is the exact same one I was using for the old container.  Error message says:

 

Getting Emby token failed. Please check your credentials and address.
Yup same here, it doesn't let me continue but also doesn't give an error in the gui that the password is incorrect, just a red sign. It does see that my user is admin though.
Link to comment
Share on other sites

reggi

Seems like I did a bad push, should work now with version v0.2.0-beta.7. Docker images are updated as well.

Sorry for breaking the releases!

Link to comment
Share on other sites

IkeTaylor11

Is there an actual installer for Windows? Or do we still just unzip the package to a location and launch the exe?

 

 

Sent from my iPhone using Tapatalk

Link to comment
Share on other sites

reggi

Not yet no. There is no way in .net CORE 2.2 to run it without the console window on Windows except for running it as a service.

 

When .net CORE 3 will be released I will upgrade the application meaning I have support for service build, running without console in background, package everything in one exe instead of > 200 files. 

So at the moment, the best thing to do is use NSSM to run the app as a service, should be fairly easy. If there are some problems with that, feel free to post a message or PM me.

Edited by reggi
Link to comment
Share on other sites

Diedrich

Yup same here, it doesn't let me continue but also doesn't give an error in the gui that the password is incorrect, just a red sign. It does see that my user is admin though.

@@reggi It sounds like we really need to get the API authentication implemented ASAP before any improvements continue.

 

Sent from my ONEPLUS A6003 using Tapatalk

Link to comment
Share on other sites

WilhelmStroker

Sync failed with an error for me:

 

 

2019-07-31 18:06:00.4640 [ERROR] MEDIASYNC-JOB Job failed, check logs for more info. 
2019-07-31 18:06:00.4805 [WARN] Failed to process the job '84d7573b-0241-4585-a7f5-806bf051f82a': an exception occurred. Retry attempt 1 of 2 will be performed in 00:00:22. System.NullReferenceException: Object reference not set to an instance of an object.
at EmbyStat.Services.PersonService.GetPersonByIdAsync(String id) in d:\a\1\s\EmbyStat.Services\PersonService.cs:line 29
at EmbyStat.Services.MovieService.GetMostFeaturedActorsPerGenreAsync(IReadOnlyCollection`1 movies) in d:\a\1\s\EmbyStat.Services\MovieService.cs:line 413
at EmbyStat.Services.MovieService.CalculatePeopleStatistics(IReadOnlyCollection`1 movies) in d:\a\1\s\EmbyStat.Services\MovieService.cs:line 106
at EmbyStat.Services.MovieService.CalculateMovieStatistics(List`1 collectionIds) in d:\a\1\s\EmbyStat.Services\MovieService.cs:line 73
at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.CalculateStatistics() in d:\a\1\s\EmbyStat.Jobs\Jobs\Sync\MediaSyncJob.cs:line 120
at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.RunJobAsync() in d:\a\1\s\EmbyStat.Jobs\Jobs\Sync\MediaSyncJob.cs:line 98
at EmbyStat.Jobs.BaseJob.Execute() in d:\a\1\s\EmbyStat.Jobs\BaseJob.cs:line 54
at EmbyStat.Jobs.BaseJob.Execute() in d:\a\1\s\EmbyStat.Jobs\BaseJob.cs:line 66
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

 

 

Edited by WilhelmStroker
Link to comment
Share on other sites

Happy2Play

Mine if for Shows not Movies.  Movies appears to be function properly for me.

2019-07-31 10:40:26.7744 [ERROR] MEDIASYNC-JOB	Job failed, check logs for more info. 
2019-07-31 10:40:26.7744 [ERROR] Failed to process the job '6e4280b5-ddc9-43e5-a2b6-bf714cb9d0f1': an exception occurred. System.NullReferenceException: Object reference not set to an instance of an object.
   at EmbyStat.Services.PersonService.GetPersonByIdAsync(String id) in d:\a\1\s\EmbyStat.Services\PersonService.cs:line 29
   at EmbyStat.Services.ShowService.GetMostFeaturedActorsPerGenreAsync(IReadOnlyList`1 shows) in d:\a\1\s\EmbyStat.Services\ShowService.cs:line 185
   at EmbyStat.Services.ShowService.CalculatePeopleStatistics(IReadOnlyList`1 shows) in d:\a\1\s\EmbyStat.Services\ShowService.cs:line 111
   at EmbyStat.Services.ShowService.CalculateShowStatistics(List`1 collectionIds) in d:\a\1\s\EmbyStat.Services\ShowService.cs:line 66
   at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.CalculateStatistics() in d:\a\1\s\EmbyStat.Jobs\Jobs\Sync\MediaSyncJob.cs:line 131
   at EmbyStat.Jobs.Jobs.Sync.MediaSyncJob.RunJobAsync() in d:\a\1\s\EmbyStat.Jobs\Jobs\Sync\MediaSyncJob.cs:line 98
   at EmbyStat.Jobs.BaseJob.Execute() in d:\a\1\s\EmbyStat.Jobs\BaseJob.cs:line 54
   at EmbyStat.Jobs.BaseJob.Execute() in d:\a\1\s\EmbyStat.Jobs\BaseJob.cs:line 66
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

And Clicking on Show "unhandled error".  Would appear to be the same.

2019-07-31 10:40:51.0311 [ERROR] An unhandled error occurred. System.NullReferenceException: Object reference not set to an instance of an object.
   at EmbyStat.Services.PersonService.GetPersonByIdAsync(String id) in d:\a\1\s\EmbyStat.Services\PersonService.cs:line 29
   at EmbyStat.Services.ShowService.GetMostFeaturedActorsPerGenreAsync(IReadOnlyList`1 shows) in d:\a\1\s\EmbyStat.Services\ShowService.cs:line 185
   at EmbyStat.Services.ShowService.CalculatePeopleStatistics(IReadOnlyList`1 shows) in d:\a\1\s\EmbyStat.Services\ShowService.cs:line 111
   at EmbyStat.Services.ShowService.CalculateShowStatistics(List`1 collectionIds) in d:\a\1\s\EmbyStat.Services\ShowService.cs:line 66
   at EmbyStat.Services.ShowService.GetStatistics(List`1 collectionIds) in d:\a\1\s\EmbyStat.Services\ShowService.cs:line 57
   at EmbyStat.Controllers.Show.ShowController.GetStatistics(List`1 collectionIds) in d:\a\1\s\EmbyStat.Controllers\Show\ShowController.cs:line 35
   at Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()
   at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextExceptionFilterAsync()
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...