Commit graph

49 commits

Author SHA1 Message Date
FoxxMD
0de2cc0922 feat(jellyfin)!: Refactor Jellyfin source to use Jellyfin API
* Implement new jellyfin source using JF typescript api client library for communication
  * Use either API Key or username/password
* Implement real-time scrobble monitoring
* Implement feature parity filters from old jellyfin source (users) and add devices filters
* Refactor documentation for new configuration with api and add migration steps for webhook users
* Add deprecation warning to jellyfin webhook source
2024-08-29 11:28:27 -04:00
FoxxMD
10bf48df40 docs(vlc): Add VLC docs 2024-08-22 17:30:37 -04:00
FoxxMD
91e52c4c5d feat(musikcube): Provide more error logging and example config
* Update iso-websockets to fix typing exports and get node network error from WS error
* Add url example to config
2024-07-23 12:11:19 -04:00
FoxxMD
8b9a7893d3 feat(mpd): Implement MPD Source MVP 2024-07-19 12:10:51 -04:00
FoxxMD
ee399136a9 docs: Lean 100% into docusaurus documentation
Since docs are now generated alongside builds and hosted on the app server there is no longer a barrier to using docusaurus docs as the main documentation presentation. Any user looking for docs can use the GH Pages hosted site or a "versioned" docs site hosted on their MS app. Due to this we can fully commit to docusaurus and take advantage of MDX layouts to simplify docs.

* Replace env/file configs headings in configuration with MDX tabs to make reading easier
* Remove superfluous TOCs
* Replace internal links in repo readme with links to docsite
2024-07-16 14:11:14 -04:00
FoxxMD
7c66816023 Implement musikcube source 2024-06-26 12:35:13 -04:00
FoxxMD
3dc9e7d8b4 refactor(config)!: Move remaining common options out of source data and into options
* Move logPayload and logFilterFailure to options
* Disallow use of "options" property in common data
2024-05-10 12:38:09 -04:00
FoxxMD
ab372b8357 refactor(config)!: Move source retry config to options 2024-05-10 12:07:39 -04:00
FoxxMD
c79f04581f refactor(config)!: Move scrobble thresholds to options 2024-05-10 12:01:45 -04:00
FoxxMD
6b1ee83654 docs: Add config section and config example for disabling web server #150 2024-04-04 09:35:27 -04:00
FoxxMD
8929a630ed docs: chromecast docs and schema 2024-01-11 15:25:06 -05:00
FoxxMD
5fd0cc3fe4 docs(webscrobbler): Move slug into data #111 2023-12-04 11:06:02 -05:00
FoxxMD
eb449eeca6 feat: Implement WebScrobbler source 2023-10-05 13:58:20 -04:00
FoxxMD
ac2d453aa2 feat(config): Implement property to control whether a source/client is used
* QoL improvement -- Instead of needing to rename a config file so it is not read by MS a user can now use the 'enable' property in all source/client configs to enable or disable loading the config
* Added property to all config examples
2023-09-20 11:31:15 -04:00
FoxxMD
2295cf4756 docs: Update example configs 2023-08-24 09:40:59 -04:00
FoxxMD
dc52376395 docs: Use external links for config examples
Docusaurus treats the files as assets and forces them to download when relative links. Instead, use external links to github so the user can stay in browser
2023-07-17 15:39:24 -04:00
FoxxMD
226b7c741c feat: Implement filter logging controls
For jellyfin/plex/tautulli -- `logFilterFailure` option in config allows controlling if and what log LEVEL user/server filter failures are logged. #85

* Updated schema
* Updated examples
* Also added expected/found detailed logging for filters to jellyfin #84
2023-07-13 11:07:12 -04:00
FoxxMD
3400e747a8 Fix listenbrainz example
Thanks @captainnapalm
2023-04-03 15:46:43 -04:00
FoxxMD
548356aaa4 feat: Implement Kodi as a Source 2023-03-15 12:26:35 -04:00
FoxxMD
ad729769ec Implement JRiver Source #26 2023-03-13 13:59:24 -04:00
FoxxMD
48a0ecad41 feat: Implement Listenbrainz as a client #16 2023-03-10 14:38:07 -05:00
FoxxMD
99a73a80db feat: Implement Listenbrainz source 2023-03-10 09:54:20 -05:00
FoxxMD
4d77ca9c11 Add missing mopidy example 2023-03-08 15:18:24 -05:00
FoxxMD
5ae79deca4 feat: Implement MPRIS Source 2023-03-02 12:57:29 -05:00
FoxxMD
ee38252e1a docs: Add webhook and healthcheck endpoint documentation 2023-02-27 10:58:39 -05:00
FoxxMD
b7aa087b74 feat: Add debug logging of jellyfin webhook payload with docs 2023-02-24 11:04:47 -05:00
FoxxMD
8e31aa431d docs: Add youtube music docs and example 2023-02-23 12:54:48 -05:00
FoxxMD
931709d277 fix: typo 2023-02-21 12:50:11 -05:00
FoxxMD
1b199750bd docs: Simplify and correct example configs
* Keep examples as valid json by removing comments and fixing trailing commas #55
* Add README pointing to configuration docs
2023-02-21 12:49:20 -05:00
FoxxMD
be9938fe95 missed some wording 2023-02-20 11:32:47 -05:00
FoxxMD
27acfa9489 docs: Simplify oauth config by removing unused access/refresh token
Although it was nice to include the option no one is providing their own tokens from a separate flow completed elsewhere. It simplifies readability and usage in MS to remove these and always generate out own.
2023-02-20 11:31:24 -05:00
FoxxMD
317da71ec3 Ignore .bak files 2023-02-10 10:18:15 -05:00
FoxxMD
cd86acdcf0 [ts-migrate][.] Init tsconfig.json file
Co-authored-by: ts-migrate <>
2023-02-08 12:53:13 -05:00
FoxxMD
9b4eb2d383 Implement Deezer source
Closes #35
2021-10-20 14:23:41 -04:00
FoxxMD
506440825f Implement Last.fm as a source
For #23
2021-04-13 17:04:40 -04:00
FoxxMD
de763d68f3 Add Jellyfin source #15
* Implement Jellyfin source similar to Plex, but using MemorySource
* Add configuration docs and json example
2021-03-16 15:36:51 -04:00
FoxxMD
2fec6aff6e Implement request and polling retries
* Hierarchical retries and delay options for sources and clients (override general config => individual config)
* Logging for retry attempts
* Respect Retry-After header on responses if present
2021-02-18 15:01:21 -05:00
FoxxMD
e552820b4d Add missing session property for lastfm config 2021-01-04 17:07:54 -05:00
FoxxMD
1bc8edb07c Update documentation for last.fm
* Add last.fm configuration docs, kitchen sink, and json example
* Update readme
2021-01-04 17:02:36 -05:00
FoxxMD
6ac8938644 Add subsonic docs #10 2020-12-09 10:51:02 -05:00
FoxxMD
22cc300733 More doc updates
* Format example json comments to be cleaner to read
* Rewrite intro to better reflect new functionality
2020-12-08 10:05:56 -05:00
FoxxMD
46ee5b89c6 Add a kitchen sink example 2020-12-08 09:34:35 -05:00
FoxxMD
ce35b67f37 Rewrite docs #13
* Refactor examples to all be multi-user structured
* Move configuration into its own file
* Separate config approaches into env/json approaches with guidance on which one to use
* Add more comments to example json
* Simplify main readme and provide a more opinionated, minimal example there
2020-12-07 16:05:47 -05:00
FoxxMD
c398c3f97f Add config example and instructions in readme 2020-11-18 19:36:07 -05:00
FoxxMD
444aa80b9e Refactor to a more class-based structure and decouple spotify from app "running" state
* Refactor spotify config and api building into a Source class
* Move spotify polling loop into Source class and use generator to handle one-run only restriction (Closes #2)
* Signal polling status using promise finally/catch
* Implement formatPlayObj static method to standardize play data
* Implement Tautulli source class
* Refactor client scrobbling and building/config into ScrobbleClients class
* Implement Tautulli endpoint for scrobbling from notification agent webhook
* Add Tautulli information to status page
* Log number of tracks discovered by each source on status page
2020-11-18 15:53:13 -05:00
FoxxMD
b0fd0c6959 Refactor client config building so that a json file is not required 2020-11-14 20:19:25 -05:00
FoxxMD
63b73a5ea4 Simplify configuration options and improve configuration documentation
* Removed individual config file location vars in favor of using just CONFIG_DIR or json objects to reduce complexity
* Justified json example comments and removed unused variables
* Tables for env variable documentation in readme (and remove unused)
* Implement LOG_DIR docker volume
* Implement LOG_LEVEL environment for setting global log level
2020-11-14 19:36:02 -05:00
FoxxMD
9b992f73e2 Show spotify configuration prop in example 2020-11-12 18:14:17 -05:00
FoxxMD
84ae7d4aad Refactor configurations to be more granular and have more options
* Break out general config, spotify, and add maloja config
* Allow specifying a config dir from env that will be used as default search location for config files
* Use prefixes for envs and add more env options
* Simplify defaults for redirect/call on spotify config
2020-11-12 16:22:12 -05:00