beta666 3 Posted January 12 Posted January 12 @Luke Dear Emby Team, We would love to see more features that reflect what users are asking for, such as: • Top 10 Movies • Top 10 TV Series • Better categorization by streaming services (Netflix, Prime Video, HBO Max, Disney+, etc.) There are many great ideas in the community. More open and flexible APIs would help developers build amazing things around Emby.
TheGru 143 Posted January 12 Author Posted January 12 14 minutes ago, TheGru said: the issue is none of those have APIs that are publicly available and or free, and I rather not build in anything that relies on scraping, it becomes long term tech debt. I think I can accomplish this using Mdblists.com and their API, you would need to get your own Key similar to Trakt, TMDb and OMDb integrations in Aperture
TheGru 143 Posted January 12 Author Posted January 12 21 minutes ago, beta666 said: @Luke Dear Emby Team, We would love to see more features that reflect what users are asking for, such as: • Top 10 Movies • Top 10 TV Series • Better categorization by streaming services (Netflix, Prime Video, HBO Max, Disney+, etc.) There are many great ideas in the community. More open and flexible APIs would help developers build amazing things around Emby. Understand Emby has been built by seasoned developers over the course of years. I am just vibe coding my way through features I have always wanted emby to include to solve my problems, and while I know others may benefit, these features may not be for everyone. I also have the luxury of doing it external to Emby, and have like 4 people currently using Aperture, so if I break something it's not a big deal. The devs read these forums and know what people want, it just comes down to priority and resources.
TheGru 143 Posted January 13 Author Posted January 13 (edited) 10 hours ago, akacharos said: @TheGru,this is just to bump , as my post was pending moderation for some reason and probably you missed it. Oh I saw it alright, and built it and some other feedback in! Aperture 0.3.3 Release Notes MDBList Integration & API Error UX Hey everyone! I'm excited to release v0.3.3 with some highly requested features, including full MDBList integration for external influence over TOP PICKS when you don't have many users or don't want to use their watch history, and a way to blend both data sets too, as well as a much-improved way to handle API errors to help anyone running in to issue with things like Open AI quotas or Rate limits with OMDb or MDBLists. How to Update Pull the latest image and restart your containers: docker compose pull docker compose up -d Docker Compose Files: Platform File Standard docker-compose.yml Production docker-compose.prod.yml Synology docker-compose.synology.yml QNAP docker-compose.qnap.yml Unraid docker-compose.unraid.yml New to Aperture? Check out the Getting Started Guide on GitHub. MDBList Integration You can now connect your MDBList.com account to Aperture! This opens up several new capabilities: Top Picks from Internet Popularity Choose between Local (your Emby users' watch history), MDBList (curated internet lists), or Hybrid (blend of both) as your Top Picks source Search and select from thousands of public MDBList lists like "Top Watched Movies of the Week" Great for smaller households where local watch data might not represent broader popularity Metadata Enrichment New Letterboxd ratings displayed on movie/series detail pages MDBList aggregated scores Streaming availability - see where content is also available to stream (Netflix, Prime, etc.) in an "Also Available On" section Additional keywords from MDBList Setup Head to Settings → Integrations to add your MDBList API key. Free tier users get 1,000 requests/day. Toggle the "Supporter Tier" option if you have a paid MDBList subscription for higher rate limits. API Error Alerts This one's for everyone who's been confused by cryptic error messages! I've completely overhauled how API errors are displayed: User-Friendly Error Messages Clear explanations of what went wrong (rate limits, billing issues, invalid API keys) Color-coded by severity: Red - Action required (auth/API key issues) Amber - May need attention (rate limits, account limits) Blue - Informational (service outages, will auto-retry) Actionable Guidance Direct links to fix issues (e.g., OpenAI billing page, API key settings) Reset time display for rate limits ("resets in 3 hours") Dismissible alerts so you can acknowledge and move on Covers All Integrations OpenAI TMDb Trakt OMDb MDBList Check the Settings → Integrations tab to see any active API issues. Enhanced Detail Pages Movie and series detail pages now show: Letterboxd rating badge (when available) Streaming providers section showing where else you can watch Languages & Countries extracted from OMDb Other Changes New enrich-mdblist job for fetching MDBList metadata (manual trigger in Jobs page) OMDB now extracts spoken languages and production countries Database migration adds support for all new enrichment fields Post-Update Steps After updating, the database migration (0067_mdblist_integration.sql) will run automatically on startup. To populate the new metadata fields: Configure your MDBList API key in Settings → Integrations Run the Enrich MDBList job from the Jobs page Thanks Thank to you everyone who has messaged here or privately to add features or who have found bugs and who have contributed code directly to the project. Keep the feedback coming! Edited January 13 by TheGru 1
TheGru 143 Posted January 13 Author Posted January 13 Aperture v0.3.4 Release Notes Hey everyone! This is a focused update that fixes a frustrating issue several of you have reported with metadata enrichment. Here's what's new: Crash-Resilient Metadata Enrichment The Problem: If your container restarted (or crashed) while metadata enrichment was running, you'd end up in a "limbo state" where: The job thought it was finished Running enrichment again would say "All items enriched - nothing to do" But you could clearly see items that weren't enriched yet There was no way to recover without manually poking the database This happened because the job progress was only tracked in memory. If the process died, that state was lost, but items that had been enriched were marked as complete in the database—so the job couldn't tell the difference between "finished" and "interrupted." The Fix: I've added persistent run tracking that survives restarts: A new enrichment_runs table stores the expected vs. actual progress Progress is saved to the database after every batch (not just at the end) On startup, any "running" jobs are automatically detected and marked as "interrupted" The Jobs page now shows a warning banner when an interrupted run is detected What you'll see: When Aperture detects an incomplete enrichment run, you'll see an alert like: Metadata Enrichment Interrupted A previous enrichment run was interrupted (possibly due to a container restart). 847 movies and 124 series still need enrichment. (253 movies and 31 series were completed before interruption.) Click Resume to continue enrichment, or Dismiss to clear this warning. Resume clears the interrupted state and immediately starts enrichment (it will pick up where it left off) Dismiss just clears the warning if you want to deal with it later Technical Details For those curious about the implementation: New migration 0069_enrichment_runs.sql creates the tracking table detectInterruptedEnrichmentRuns() is called on API startup Progress is persisted every batch (100 items) during enrichment Two new API endpoints: GET /api/jobs/enrichment/status and POST /api/jobs/enrichment/clear-interrupted Upgrade Notes After updating to v: If you were stuck in a limbo state, you should now see the warning banner on the Jobs page Click Resume to finish your enrichment Full Changelog New Features Add persistent enrichment run tracking with enrichment_runs table Detect interrupted enrichment runs on application startup Add warning banner in Jobs UI for interrupted enrichment runs Add Resume and Dismiss actions for interrupted runs Bug Fixes Fix enrichment "limbo state" where container restart left job unrecoverable Fix inability to resume enrichment after unexpected shutdown Technical New migration 0069_enrichment_runs.sql New useEnrichmentStatus hook for frontend New API endpoints for enrichment status management If you've been stuck with incomplete enrichment, this update should get you unstuck. Let me know if you run into any issues! How to Update Pull the latest image and restart your containers: docker compose pull docker compose up -d Docker Compose Files: Platform File Standard docker-compose.yml Production docker-compose.prod.yml Synology docker-compose.synology.yml QNAP docker-compose.qnap.yml Unraid docker-compose.unraid.yml New to Aperture? Check out the Getting Started Guide on GitHub.
GoldSpacer 11 Posted January 13 Posted January 13 I tried the mdblist for top picks and ran into a couple issues: 1. It looks like it's not pulling any series or movies from mdb list for top picks. I verified I have multiple movies and shows on the lists I selected but when set to mdblist it just says 0 movies and shows found. If I select the hybrid option, it just does movies based on local user watch history. I ran the mdblist enrichment job as well. 2. Aperture is having issues making the libraries for me. When I manually create them it's able to give access to users it looks like though. 10:41:29 PM Starting job: refresh-top-picks 10:41:29 PM Step 1/8: Checking configuration 10:41:29 PM Configuration loaded: 30 day window, 10 movies, 10 series 10:41:29 PM Weights: Viewers 0.5, Plays 0.3, Completion 0.2 10:41:29 PM Movies outputs: Library 10:41:29 PM Series outputs: Library 10:41:29 PM Step 2/8: Calculating top movies 10:41:29 PM Calculating top movies based on watch history... 10:41:29 PM Found 0 popular movies 10:41:29 PM Step 3/8: Calculating top series 10:41:29 PM Calculating top series based on watch history... 10:41:29 PM Found 0 popular series 10:41:29 PM Step 4/8: Writing library files 10:41:29 PM Writing Top Picks Movies library files... 10:41:29 PM Written 0 movie files to /aperture-libraries/top-picks-movies 10:41:29 PM Step 5/8: Writing series library files 10:41:29 PM Writing Top Picks Series library files... 10:41:29 PM Written 0 series to /aperture-libraries/top-picks-series 10:41:29 PM Step 6/8: Managing libraries and triggering refresh 10:41:29 PM Checking Movies library "Top Picks - Movies"... 10:41:29 PM Failed to ensure Movies library: Emby API error: 400 Bad Request 10:41:29 PM Checking Series library "Top Picks - Series"... 10:41:29 PM Failed to ensure Series library: Emby API error: 400 Bad Request 10:41:29 PM Movies library "Top Picks - Movies" not found in media server 10:41:29 PM Series library "Top Picks - Series" not found in media server 10:41:29 PM Triggering library refresh... 10:41:29 PM Step 7/8: Creating collections and playlists 10:41:29 PM Skipping collections and playlists (all disabled) 10:41:29 PM Top Picks files created (0 movies, 0 series) but library creation failed: Movies library: Emby API error: 400 Bad Request; Series library: Emby API error: 400 Bad Request 10:41:29 PM Job failed: Library creation failed: Movies library: Emby API error: 400 Bad Request; Series library: Emby API error: 400 Bad Request
TheGru 143 Posted January 13 Author Posted January 13 6 hours ago, GoldSpacer said: I tried the mdblist for top picks and ran into a couple issues: 1. It looks like it's not pulling any series or movies from mdb list for top picks. I verified I have multiple movies and shows on the lists I selected but when set to mdblist it just says 0 movies and shows found. If I select the hybrid option, it just does movies based on local user watch history. I ran the mdblist enrichment job as well. 2. Aperture is having issues making the libraries for me. When I manually create them it's able to give access to users it looks like though. 10:41:29 PM Starting job: refresh-top-picks 10:41:29 PM Step 1/8: Checking configuration 10:41:29 PM Configuration loaded: 30 day window, 10 movies, 10 series 10:41:29 PM Weights: Viewers 0.5, Plays 0.3, Completion 0.2 10:41:29 PM Movies outputs: Library 10:41:29 PM Series outputs: Library 10:41:29 PM Step 2/8: Calculating top movies 10:41:29 PM Calculating top movies based on watch history... 10:41:29 PM Found 0 popular movies 10:41:29 PM Step 3/8: Calculating top series 10:41:29 PM Calculating top series based on watch history... 10:41:29 PM Found 0 popular series 10:41:29 PM Step 4/8: Writing library files 10:41:29 PM Writing Top Picks Movies library files... 10:41:29 PM Written 0 movie files to /aperture-libraries/top-picks-movies 10:41:29 PM Step 5/8: Writing series library files 10:41:29 PM Writing Top Picks Series library files... 10:41:29 PM Written 0 series to /aperture-libraries/top-picks-series 10:41:29 PM Step 6/8: Managing libraries and triggering refresh 10:41:29 PM Checking Movies library "Top Picks - Movies"... 10:41:29 PM Failed to ensure Movies library: Emby API error: 400 Bad Request 10:41:29 PM Checking Series library "Top Picks - Series"... 10:41:29 PM Failed to ensure Series library: Emby API error: 400 Bad Request 10:41:29 PM Movies library "Top Picks - Movies" not found in media server 10:41:29 PM Series library "Top Picks - Series" not found in media server 10:41:29 PM Triggering library refresh... 10:41:29 PM Step 7/8: Creating collections and playlists 10:41:29 PM Skipping collections and playlists (all disabled) 10:41:29 PM Top Picks files created (0 movies, 0 series) but library creation failed: Movies library: Emby API error: 400 Bad Request; Series library: Emby API error: 400 Bad Request 10:41:29 PM Job failed: Library creation failed: Movies library: Emby API error: 400 Bad Request; Series library: Emby API error: 400 Bad Request So i just ran the top picks job on my system and did not run in to any issues. This one sounds like a write permission issue. I am not sure what your setup looks like but user:root is needed to be able to write, at least in my Unraid configuration. 7:42:52 AM Starting job: refresh-top-picks 7:42:52 AM Step 1/8: Checking configuration 7:42:52 AM Configuration loaded: 30 day window, 10 movies, 10 series 7:42:52 AM Weights: Viewers 0.5, Plays 0.3, Completion 0.2 7:42:52 AM Movies outputs: Library 7:42:52 AM Series outputs: Library 7:42:52 AM Step 2/8: Calculating top movies 7:42:52 AM Calculating top movies based on watch history... 7:42:52 AM Found 10 popular movies 7:42:52 AM 1: Now You See Me: Now You Don't (2025) - 5 viewers 7:42:52 AM 2: Elf (2003) - 3 viewers 7:42:52 AM 3: Predator: Badlands (2025) - 3 viewers 7:42:52 AM ... and 7 more 7:42:52 AM Step 3/8: Calculating top series 7:42:52 AM Calculating top series based on watch history... 7:42:54 AM Found 10 popular series 7:42:54 AM 1: Family Guy (1999) - 5 viewers 7:42:54 AM 2: Landman (2024) - 10 viewers 7:42:54 AM 3: Stranger Things (2016) - 8 viewers 7:42:54 AM ... and 7 more 7:42:54 AM Step 4/8: Writing library files 7:42:54 AM Writing Top Picks Movies library files... 7:42:55 AM Written 10 movie files to /aperture-libraries/top-picks-movies 7:42:55 AM Step 5/8: Writing series library files 7:42:55 AM Writing Top Picks Series library files... 7:42:56 AM Written 10 series to /aperture-libraries/top-picks-series 7:42:56 AM Step 6/8: Managing libraries and triggering refresh 7:42:56 AM Checking Movies library "Top Picks - Movies"... 7:42:56 AM Movies library "Top Picks - Movies" already exists 7:42:56 AM Checking Series library "Top Picks - Series"... 7:42:56 AM Series library "Top Picks - Series" already exists 7:42:56 AM Movies library image synced 7:42:56 AM Series library image synced 7:42:56 AM Granting access to all users... 7:42:56 AM Permissions updated: 0 users granted access 7:42:56 AM 40 users already had access 7:42:56 AM Triggering library refresh... 7:42:56 AM Movies library refresh triggered, waiting for scan... 7:42:56 AM Series library refresh triggered, waiting for scan... 7:42:56 AM Step 7/8: Creating collections and playlists 7:42:56 AM Skipping collections and playlists (all disabled) 7:42:56 AM Job completed in 4.0s I will try and debug the MDBlist system, that was a rapid fire build last night before bed, so thanks for the feedback.
tcx4c70 2 Posted January 13 Posted January 13 1 hour ago, TheGru said: So i just ran the top picks job on my system and did not run in to any issues. This one sounds like a write permission issue. I am not sure what your setup looks like but user:root is needed to be able to write, at least in my Unraid configuration. 7:42:52 AM Starting job: refresh-top-picks 7:42:52 AM Step 1/8: Checking configuration 7:42:52 AM Configuration loaded: 30 day window, 10 movies, 10 series 7:42:52 AM Weights: Viewers 0.5, Plays 0.3, Completion 0.2 7:42:52 AM Movies outputs: Library 7:42:52 AM Series outputs: Library 7:42:52 AM Step 2/8: Calculating top movies 7:42:52 AM Calculating top movies based on watch history... 7:42:52 AM Found 10 popular movies 7:42:52 AM 1: Now You See Me: Now You Don't (2025) - 5 viewers 7:42:52 AM 2: Elf (2003) - 3 viewers 7:42:52 AM 3: Predator: Badlands (2025) - 3 viewers 7:42:52 AM ... and 7 more 7:42:52 AM Step 3/8: Calculating top series 7:42:52 AM Calculating top series based on watch history... 7:42:54 AM Found 10 popular series 7:42:54 AM 1: Family Guy (1999) - 5 viewers 7:42:54 AM 2: Landman (2024) - 10 viewers 7:42:54 AM 3: Stranger Things (2016) - 8 viewers 7:42:54 AM ... and 7 more 7:42:54 AM Step 4/8: Writing library files 7:42:54 AM Writing Top Picks Movies library files... 7:42:55 AM Written 10 movie files to /aperture-libraries/top-picks-movies 7:42:55 AM Step 5/8: Writing series library files 7:42:55 AM Writing Top Picks Series library files... 7:42:56 AM Written 10 series to /aperture-libraries/top-picks-series 7:42:56 AM Step 6/8: Managing libraries and triggering refresh 7:42:56 AM Checking Movies library "Top Picks - Movies"... 7:42:56 AM Movies library "Top Picks - Movies" already exists 7:42:56 AM Checking Series library "Top Picks - Series"... 7:42:56 AM Series library "Top Picks - Series" already exists 7:42:56 AM Movies library image synced 7:42:56 AM Series library image synced 7:42:56 AM Granting access to all users... 7:42:56 AM Permissions updated: 0 users granted access 7:42:56 AM 40 users already had access 7:42:56 AM Triggering library refresh... 7:42:56 AM Movies library refresh triggered, waiting for scan... 7:42:56 AM Series library refresh triggered, waiting for scan... 7:42:56 AM Step 7/8: Creating collections and playlists 7:42:56 AM Skipping collections and playlists (all disabled) 7:42:56 AM Job completed in 4.0s I will try and debug the MDBlist system, that was a rapid fire build last night before bed, so thanks for the feedback. I guess the aperture-libraries fold is not `/mnt/ApertureLibraries/top-picks-series` in GoldSpacer's machine just like mine. From the code, it will read `media_server_libraries_path` (default: `/mnt/ApertureLibraries/`) from DB then send it to emby as path prefix of libraries. There is a setup api endpoint `/api/setup/output-config` but I don't find any caller from frontend.
TheGru 143 Posted January 13 Author Posted January 13 (edited) 10 minutes ago, tcx4c70 said: I guess the aperture-libraries fold is not `/mnt/ApertureLibraries/top-picks-series` in GoldSpacer's machine just like mine. From the code, it will read `media_server_libraries_path` (default: `/mnt/ApertureLibraries/`) from DB then send it to emby as path prefix of libraries. There is a setup api endpoint `/api/setup/output-config` but I don't find any caller from frontend. Ok I think I get it now. Working up a potential fix. This should in theory solve many problems. It works on my end because the fallback defaults match my specific environment file locations. Edited January 13 by TheGru
TheGru 143 Posted January 13 Author Posted January 13 Re: "The specified path does not exist" error Thanks for reporting this @tcx4c70 - you've identified a gap in the setup process! What's happening: When Aperture creates libraries (AI Recommendations, Top Picks, etc.), it writes files to /aperture-libraries/ inside the Aperture container, then tells Emby to create a library pointing to a path like /mnt/ApertureLibraries/top-picks-series. The problem is that /mnt/ApertureLibraries/ is a hardcoded default. If your Emby container has the aperture-libraries volume mounted at a different path (like /data/ApertureLibraries/ or /volume1/aperture/), Emby can't find it and throws "The specified path does not exist". The fix (coming in the next release): I'm adding a File Locations configuration step: In the Setup Wizard - A new step will ask: "Where does your media server see Aperture's libraries?" (e.g., /mnt/ApertureLibraries/) "Where does your media server see your media files?" (e.g., /mnt/) In Admin Settings - Under Setup → Media Server, a new "File Locations" section will let you update these paths anytime. How to find the right values: Open any movie in Emby, go to Media Info, and look at the file path. If it shows /data/Movies/SomeMovie/file.mkv, your media server path prefix is /data/. Your Aperture libraries path would then be wherever you mounted the aperture-libraries volume that Emby can see - something like /data/ApertureLibraries/. Workaround until the update: If you need this working now, you can set it directly in the database: INSERT INTO system_settings (key, value) VALUES ('media_server_libraries_path', '/your/actual/path/') ON CONFLICT (key) DO UPDATE SET value = EXCLUDED.value; I'll post here when the update is released. 1
tcx4c70 2 Posted January 13 Posted January 13 16 minutes ago, tcx4c70 said: I guess the aperture-libraries fold is not `/mnt/ApertureLibraries/top-picks-series` in GoldSpacer's machine just like mine. From the code, it will read `media_server_libraries_path` (default: `/mnt/ApertureLibraries/`) from DB then send it to emby as path prefix of libraries. There is a setup api endpoint `/api/setup/output-config` but I don't find any caller from frontend. After I update the setting manually by running sql cmd and update the permission of the folder for emby user, the task runs successfully.
TheGru 143 Posted January 13 Author Posted January 13 4 minutes ago, tcx4c70 said: After I update the setting manually by running sql cmd and update the permission of the folder for emby user, the task runs successfully. Sweet! my fix is going to try and auto-detect the correct paths to make this as easy as possible. Standby!
GoldSpacer 11 Posted January 13 Posted January 13 These are the volumes for my Aperture container: - /mnt/media/ApertureLibraries:/aperture-libraries - /mnt/media/Backup:/backups - /mnt/media:/media:ro - /mnt/unas8pro/media:/media2:ro /media is where the movies are and /media2 is where the shows are. /aperture-libraries is located within /media as well. Emby has these: - /mnt/media:/media - /mnt/unas8pro/media:/media2 - /mnt/media/ApertureLibraries:/aperture-libraries (this was missing so I added this and tested but it didn't work either) For the libraries in Emby, I have subfolders /media/movies and /media2/shows. Let me know if I need to change something on my end with the volume mounts.
tcx4c70 2 Posted January 13 Posted January 13 7 minutes ago, GoldSpacer said: These are the volumes for my Aperture container: - /mnt/media/ApertureLibraries:/aperture-libraries - /mnt/media/Backup:/backups - /mnt/media:/media:ro - /mnt/unas8pro/media:/media2:ro /media is where the movies are and /media2 is where the shows are. /aperture-libraries is located within /media as well. Emby has these: - /mnt/media:/media - /mnt/unas8pro/media:/media2 - /mnt/media/ApertureLibraries:/aperture-libraries (this was missing so I added this and tested but it didn't work either) For the libraries in Emby, I have subfolders /media/movies and /media2/shows. Let me know if I need to change something on my end with the volume mounts. 1. mount `/mnt/media/ApertureLibraries` to `/mnt/ApertureLibraries` on Emby's docker compose : `- /mnt/media/ApertureLibraries:/mnt/ApertureLibraries` 2. check the user in emby container (I guess it's emby?) has the permission to read the dir `/mnt/ApertureLibraries`
tcx4c70 2 Posted January 13 Posted January 13 2 minutes ago, tcx4c70 said: 1. mount `/mnt/media/ApertureLibraries` to `/mnt/ApertureLibraries` on Emby's docker compose : `- /mnt/media/ApertureLibraries:/mnt/ApertureLibraries` 2. check the user in emby container (I guess it's emby?) has the permission to read the dir `/mnt/ApertureLibraries` If the user ids of aperture (1001) and emby are not equal. I think a easy way to fix it is: 1. map the user id of apperture and emby to the same user on host (e.g. user id 100 on host): a. aperture docker compose: `user: 1001:100` b. emby docker compose: `user: <emby_user_id>:100` 2. manually fix the permission of existing data via chown: `chown -R 100 <dirs_mount_to_aperture_and_emby>`
TheGru 143 Posted January 13 Author Posted January 13 12 minutes ago, tcx4c70 said: If the user ids of aperture (1001) and emby are not equal. I think a easy way to fix it is: 1. map the user id of apperture and emby to the same user on host (e.g. user id 100 on host): a. aperture docker compose: `user: 1001:100` b. emby docker compose: `user: <emby_user_id>:100` 2. manually fix the permission of existing data via chown: `chown -R 100 <dirs_mount_to_aperture_and_emby>` @tcx4c70 Good points on permissions! For permissions: The key is that both Aperture and your media server containers need to be able to read/write the shared ApertureLibraries folder. The easiest way to ensure this: Match the user/group IDs between your Aperture and Emby/Jellyfin containers Or run both as the same user Or ensure the shared folder has permissions that both users can access How you configure this depends on your setup (Unraid, Synology, standard Docker, etc.) - just make sure whatever user Aperture runs as can write to the folder, and whatever user your media server runs as can read from it. The official docker-compose runs Aperture as root to sidestep these issues, but if you're running as a specific user, just match it with your media server's user.
TheGru 143 Posted January 13 Author Posted January 13 Aperture v0.3.6 Release Notes This release focuses on making setup easier with auto-detection of file paths and significant enhancements to Top Picks configuration. File Locations Configuration with Auto-Detection This addresses the "path does not exist" errors some users encountered when their Docker volume mounts didn't match Aperture's defaults. Setup Wizard: New "Paths" step that appears after library selection Auto-Detect Paths button that automatically figures out your configuration by comparing how your media server sees files vs how Aperture sees them Shows detected mapping with sample file paths so you can verify it's correct Manual configuration available if auto-detection doesn't work Skip option if your paths already match defaults (/mnt/ApertureLibraries/, /mnt/) Admin Settings: New "File Locations" section under Setup → Media Server tab Same auto-detection capability for updating paths after initial setup Top Picks Enhancements Separate Settings for Movies & Series: Configure movies and series independently with their own: Data source (Local watch history, MDBList, or Hybrid) Minimum unique viewers threshold (for local mode) Time window (for local mode) Output limits or "use all matches" MDBList sort preference Live Preview: See how many items qualify as you adjust settings Smart recommendations for minimum viewers to target reasonable list sizes Warnings when local lists would be too large (suggests using MDBList instead) MDBList Sorting: Choose how MDBList items are ranked: MDBList Score, IMDb Rating, TMDb Popularity, Rotten Tomatoes, Metacritic, etc. Library Match Preview: When using MDBList, see exactly how many items from the list match your library Expandable list shows which titles are missing from your collection UI Improvements: Movies and Series settings now display side-by-side on larger screens Output configuration cards also side-by-side Cleaner dropdown styling throughout Bug Fixes MDBList enrichment - Fixed bulk update failing with COALESCE types text and text[] cannot be matched error Studio logos - Fixed enrichment job that could run forever in certain conditions (thanks @tcx4c70!) Series links - Fixed wrong Emby server link on series pages (thanks @tcx4c70!) MDBList API - Handle new response format from MDBList API (movies/shows arrays instead of flat items) Update Instructions docker-compose pull docker-compose up -d If you're experiencing path issues, visit Settings → Setup → Media Server and use the new "Auto-Detect Paths" button, or re-run the setup wizard to configure your file locations.
GoldSpacer 11 Posted January 13 Posted January 13 (edited) I changed the emby volume to /mnt/ApertureLibraries and updated to the latest docker and I am now making libraries and pulling the mdblists and getting results for the Top Picks. It looks like the sorting may not be working for Top Picks, I created a mdblists based on Rotten Tomatoes popular movies and shows and when sorted by IMDB popular these are the top results. In Emby it shows as: When switching the direction of the popularity filter in mdblist it matches more up with what Emby shows. Is there a way to change the sort direction to see if that fixes this? Also, for the new Media Server Path Prefix, is there going to be any issue with my shows being on a different path (/media2/) as it only allows one prefix? Edited January 13 by GoldSpacer
TheGru 143 Posted January 13 Author Posted January 13 (edited) 26 minutes ago, GoldSpacer said: I changed the emby volume to /mnt/ApertureLibraries and updated to the latest docker and I am now making libraries and pulling the mdblists and getting results for the Top Picks. It looks like the sorting may not be working for Top Picks, I created a mdblists based on Rotten Tomatoes popular movies and shows and when sorted by IMDB popular these are the top results. In Emby it shows as: When switching the direction of the popularity filter in mdblist it matches more up with what Emby shows. Is there a way to change the sort direction to see if that fixes this? Also, for the new Media Server Path Prefix, is there going to be any issue with my shows being on a different path (/media2/) as it only allows one prefix? shows being on a different path should not matter, the media paths are picked up by way of the Emby API. Aperture just needs one writable path that your emby can also see to build its folder structure in, and which is used by Aperture automatic library creation through the Emby API. I will look in to the sorting. Edited January 13 by TheGru 1
TheGru 143 Posted January 13 Author Posted January 13 28 minutes ago, GoldSpacer said: I changed the emby volume to /mnt/ApertureLibraries and updated to the latest docker and I am now making libraries and pulling the mdblists and getting results for the Top Picks. It looks like the sorting may not be working for Top Picks, I created a mdblists based on Rotten Tomatoes popular movies and shows and when sorted by IMDB popular these are the top results. In Emby it shows as: When switching the direction of the popularity filter in mdblist it matches more up with what Emby shows. Is there a way to change the sort direction to see if that fixes this? Also, for the new Media Server Path Prefix, is there going to be any issue with my shows being on a different path (/media2/) as it only allows one prefix? Just trying to replicate, you have the sort set to IMDb Popularity? I have been using MDBList Score which is the Big Green number and it gets sorted Descending from highest value.(that's the default sort order)
GoldSpacer 11 Posted January 13 Posted January 13 Yeah, I'm using IMDb Popularity, in mdblist it goes from 1 being the top result down to 100 being the bottom.
TheGru 143 Posted January 13 Author Posted January 13 1 minute ago, GoldSpacer said: Yeah, I'm using IMDb Popularity, in mdblist it goes from 1 being the top result down to 100 being the bottom. I am testing now, looks like a bug, trying to fix it between actual work....
TheGru 143 Posted January 13 Author Posted January 13 10 minutes ago, TheGru said: I am testing now, looks like a bug, trying to fix it between actual work.... I found the issue: The MDBList API does return items in the correct sorted order in the response - we just need to use the array position as the rank, not the item.rank field I assumed was updated based on the sort but no, it is not.
TheGru 143 Posted January 13 Author Posted January 13 (edited) Input list, sorted by IMDb popular. Aperture output using imdb popular sort, less the movies I do not have in my library = And in Emby I believe it works properly now and will roll a build. Edited January 13 by TheGru
TheGru 143 Posted January 13 Author Posted January 13 Aperture v0.3.7 Release Notes Hey everyone! This is a quick patch release that fixes some annoying issues with MDBList Top Picks sorting and API error alerts. Here's what's new: MDBList Top Picks Sorting Fix The Problem: When you selected a sort option like "IMDb Popular" for your Top Picks, the results were completely wrong—you'd get random movies instead of the most popular ones. What was happening: The MDBList API was returning items in the correct sorted order in the JSON response But each item also has a rank field that represents its original position in the list, NOT its sorted position We were incorrectly using item.rank instead of the array index Also, for popularity metrics (where lower number = more popular), we were using the wrong sort direction The Fix: Now correctly uses the array position as the sorted rank, ignoring the misleading item.rank field Automatically detects sort type and uses the correct order: Popularity sorts (imdbpopular, tmdbpopular Uses ascending order (rank #1 is more popular than #100) Rating sorts (imdbrating, rtomatoes, metacritic, etc.): Uses descending order (10/10 is better than 1/10) Result: Your Top Picks will now correctly match what you see on the MDBList website when sorted by the same option! Auto-Dismiss Service Outage Alerts The Problem: When an external API (MDBList, TMDb, OMDb, OpenAI) had a temporary outage (500/502/503/504 error), Aperture would show a "Service Unavailable" alert. But even after the service recovered, the alert would persist forever until you manually dismissed it. The Fix: Outage alerts now auto-dismiss when a successful connection is detected: Testing your API connection in Settings will clear any stale outage alerts Only affects "outage" type errors (temporary server issues) Auth errors and rate limit warnings still require manual acknowledgment (since those need user action) What this means: No more zombie alerts for services that are working fine! Full Changelog Bug Fixes Fix MDBList Top Picks sorting: Use array position as sorted rank, not item.rank (which is original list position) Fix sort order for popularity metrics: Use ascending order for imdbpopular/tmdbpopular (lower = more popular) Auto-dismiss outage errors: Clear "Service Unavailable" alerts when connection test succeeds Technical Add dismissOutageErrors() function to clear outage-type errors by provider Update testMDBListConnection, testTMDbConnection, testOMDbConnection, testOpenAIConnection to auto-dismiss outage errors Add debug logging to show sorted vs original list positions in MDBList responses If you've been frustrated with MDBList sorting not working correctly, this update should fix it! Let me know if you run into any issues. Update Instructions docker-compose pull docker-compose up -d
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now