{"id":13469893,"url":"https://github.com/jorenn92/Maintainerr","last_synced_at":"2025-03-26T09:31:36.611Z","repository":{"id":37072874,"uuid":"447140444","full_name":"jorenn92/Maintainerr","owner":"jorenn92","description":"Looks and smells like Overseerr, does the opposite. Maintenance tool for the Plex ecosystem","archived":false,"fork":false,"pushed_at":"2025-03-24T16:07:44.000Z","size":9074,"stargazers_count":1054,"open_issues_count":31,"forks_count":34,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-24T17:24:07.010Z","etag":null,"topics":["docker","maintenance","movies","overseerr","plex","plex-media-server","radarr","sonarr","tv-series","tv-shows"],"latest_commit_sha":null,"homepage":"https://maintainerr.info","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jorenn92.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["jorenn92"],"ko_fi":"maintainerr_app"}},"created_at":"2022-01-12T08:46:37.000Z","updated_at":"2025-03-23T00:41:56.000Z","dependencies_parsed_at":"2023-09-23T10:16:57.501Z","dependency_job_id":"a7f5aeee-5744-4140-9c8e-e96c503b5330","html_url":"https://github.com/jorenn92/Maintainerr","commit_stats":null,"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorenn92%2FMaintainerr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorenn92%2FMaintainerr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorenn92%2FMaintainerr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jorenn92%2FMaintainerr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jorenn92","download_url":"https://codeload.github.com/jorenn92/Maintainerr/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245625975,"owners_count":20646274,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","maintenance","movies","overseerr","plex","plex-media-server","radarr","sonarr","tv-series","tv-shows"],"created_at":"2024-07-31T16:00:18.440Z","updated_at":"2025-03-26T09:31:36.602Z","avatar_url":"https://github.com/jorenn92.png","language":"TypeScript","funding_links":["https://github.com/sponsors/jorenn92","https://ko-fi.com/maintainerr_app"],"categories":["Apps","TypeScript","docker","Complimenting Apps"],"sub_categories":["MediaManagement"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"ui/public/logo_black.svg?raw=true\" alt=\"Maintainerr's custom image\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\" \u003e\n  \u003ca href=\"https://discord.gg/WP4ZW2QYwk\"\u003e\u003cimg alt=\"Discord\" src=\"https://img.shields.io/discord/1152219249549512724?style=flat\u0026logo=discord\u0026logoColor=white\u0026label=Maintainerr\"\u003e\u003c/a\u003e\n  \u003cpicture\u003e\u003cimg alt=\"GitHub Actions Workflow Status\" src=\"https://img.shields.io/github/actions/workflow/status/jorenn92/maintainerr/.github%2Fworkflows%2Fbuild.yml?branch=main\u0026style=flat\u0026logo=github\u0026label=Latest%20Build\"\u003e\u003c/picture\u003e\n  \u003ca href=\"https://github.com/jorenn92/Maintainerr/releases\"\u003e\u003cimg alt=\"GitHub Release\" src=\"https://img.shields.io/github/v/release/jorenn92/maintainerr?style=flat\u0026logo=github\u0026logoColor=white\u0026label=Latest%20Release\"\u003e\u003c/a\u003e\n  \u003cpicture\u003e\u003cimg alt=\"GitHub commits since latest release\" src=\"https://img.shields.io/github/commits-since/jorenn92/maintainerr/latest?style=flat\u0026logo=github\u0026logoColor=white\"\u003e\u003c/picture\u003e\n  \u003cpicture\u003e\u003cimg alt=\"GitHub Repo stars\" src=\"https://img.shields.io/github/stars/jorenn92/maintainerr?style=flat\u0026logo=github\u0026logoColor=white\u0026label=Stars\"\u003e\u003c/picture\u003e\n  \u003ca href=\"https://hub.docker.com/r/jorenn92/maintainerr\"\u003e\u003cimg alt=\"Docker Pulls\" src=\"https://img.shields.io/docker/pulls/jorenn92/maintainerr?style=flat\u0026logo=docker\u0026logoColor=white\u0026label=Docker%20Pulls\"\u003e\u003c/a\u003e\n  \u003cpicture\u003e\u003cimg alt=\"GitHub commit activity\" src=\"https://img.shields.io/github/commit-activity/m/jorenn92/maintainerr?style=flat\u0026logo=github\u0026logoColor=white\u0026label=COMMITS\"\u003e\u003c/picture\u003e\n  \u003cpicture\u003e\u003cimg alt=\"GitHub Issues or Pull Requests\" src=\"https://img.shields.io/github/issues-closed/jorenn92/maintainerr?style=flat\u0026logo=github\u0026logoColor=white\"\u003e\u003c/picture\u003e\n  \u003cpicture\u003e\u003cimg alt=\"GitHub Issues or Pull Requests\" src=\"https://img.shields.io/github/issues/jorenn92/maintainerr?style=flat\u0026logo=github\u0026logoColor=white\"\u003e\u003c/picture\u003e\n  \u003ca href=\"https://github.com/sponsors/jorenn92\"\u003e\u003cimg alt=\"GitHub Sponsors\" src=\"https://img.shields.io/github/sponsors/JORENN92?style=flat\u0026logo=github%20sponsors\u0026logoColor=white\u0026label=sponsors\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://ko-fi.com/maintainerr_app\"\u003e\u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/DONATE-kofi-red?style=flat\u0026logo=ko-fi\u0026logoColor=white\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://docs.maintainerr.info\"\u003e\u003cimg alt=\"Documentation\" src=\"https://img.shields.io/badge/Material_for_MkDocs-%3A)-blue?style=flat\u0026logo=materialformkdocs\u0026logoColor=white\"\u003e\u003c/a\u003e\n  \u003cpicture\u003e\u003cimg alt=\"GitHub License\" src=\"https://img.shields.io/github/license/jorenn92/maintainerr?style=flat\"\u003e\u003c/picture\u003e\n\u003c/p\u003e\n\n\u003cb\u003eMaintainerr\u003c/b\u003e makes managing your media easy.\n\n- Do you hate being the janitor of your server?\n- Do you have a lot of media that never gets watched?\n- Do your users constantly request media, and let it sit there afterward never to be touched again?\n\nIf you answered yes to any of those questions.. You NEED \u003cb\u003eMaintainerr\u003c/b\u003e.\nIt's a one-stop-shop for handling those outlying shows and movies that take up precious space on your server.\n\n# Features\n\n- Configure rules specific to your needs, based off of several available options from Plex, Overseerr, Jellyseerr, Radarr, Sonarr and Tautulli.\n- Manually add media to a collection, in case it's not included after rule execution. (one-off items that don't match a rule set)\n- Selectively exclude media from being added to a collection, even if it matches a rule.\n- Show a collection, containing rule matched media, on the Plex home screen for a specific duration before deletion. Think \"Leaving soon\".\n- Optionally, use a manual Plex collection, in case you don't want \u003cb\u003eMaintainerr\u003c/b\u003e to add \u0026 remove Plex collections at will.\n- Manage media straight from the collection within Plex. \u003cb\u003eMaintainerr\u003c/b\u003e will sync and add or exclude media to/from the internal collection.\n- Remove or unmonitor media from \\*arr\n- Clear requests from Overseerr\n- Delete files from disk\n\n\u003cbr /\u003e\nCurrently, \u003cb\u003eMaintainerr\u003c/b\u003e supports rule parameters from these apps :\n\n- Plex\n- Overseerr\n- Jellyseerr\n- Radarr\n- Sonarr\n- Tautulli\n\n# Preview\n\n![image](./ui/public/screenshots/overview_screenshot.png)\n![image](./ui/public/screenshots/rules_screenshot.png)\n![image](./ui/public/screenshots/collections_screenshot.png)\n![image](./ui/public/screenshots/rule_example_screenshot.png)\n\n# Installation\n\nDocker images for amd64 \u0026 arm64 are available under [jorenn92/maintainerr](https://hub.docker.com/r/jorenn92/maintainerr) and ghcr.io/jorenn92/maintainerr. \u003cbr /\u003e\n\nData is saved within the container under /opt/data, it is recommended to tie a persistent volume to this location in your docker command/compose file.\nMake sure this directory is read/writeable by the user specified in the 'user' instruction. If no 'user' instruction is configured, the volume should be accessible by UID:GID 1000:1000.\n\nFor more information, visit the [installation guide](https://docs.maintainerr.info/latest/Installation).\n\nDocker run:\n\n```Yaml\ndocker run -d \\\n--name maintainerr \\\n-e TZ=Europe/Brussels \\\n-v ./data:/opt/data \\\n-u 1000:1000 \\\n-p 6246:6246 \\\n--restart unless-stopped \\\nghcr.io/jorenn92/maintainerr:latest\n```\n\nDocker-compose:\n\n```Yaml\nversion: '3'\n\nservices:\n    maintainerr:\n        image: ghcr.io/jorenn92/maintainerr:latest # or jorenn92/maintainerr:latest\n        container_name: maintainerr\n        user: 1000:1000\n        volumes:\n          - type: bind\n            source: ./data\n            target: /opt/data\n        environment:\n          - TZ=Europe/Brussels\n#      - DEBUG=true # uncomment to enable debug logs\n#      - BASE_PATH=/maintainerr # uncomment if you're serving maintainerr from a subdirectory\n#      - UI_HOSTNAME=:: # uncomment if you want to listen on IPv6 instead (default 0.0.0.0)\n#      - UI_PORT=6247 # uncomment to change the UI port (default 6246). Useful if you're on a network where the port is already in use\n#      - API_PORT=3002 # uncomment to change the API port (default 3001). Useful if you're on a network where the port is already in use\n        ports:\n          - 6246:6246\n        restart: unless-stopped\n```\n\n# Documentation\n\n[For more information, please consult the documentation](https://docs.maintainerr.info/)\n\n# Features\n\n[To get an indication of which features are most desired, you can vote for them](https://features.maintainerr.info/?view=most-wanted)\n\n# Credits\n\nMaintainerr is heavily inspired by Overseerr. Some parts of Maintainerr's code are plain copies. Big thanks to the Overseerr team for creating and maintaining such an amazing app!\n\nPlease support them at \u003chttps://github.com/sct/overseerr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjorenn92%2FMaintainerr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjorenn92%2FMaintainerr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjorenn92%2FMaintainerr/lists"}