You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+13-28
Original file line number
Diff line number
Diff line change
@@ -7,8 +7,7 @@
7
7
### Inspiration
8
8
9
9
This application is heavily inspired by [Maintainerr](https://github.com/jorenn92/Maintainerr).
10
-
If you're within the Plex ecosystem, want an easy to use GUI and more sophisticated functionality, you're better off
11
-
using it instead.
10
+
If you're within the Plex ecosystem, want an easy to use GUI and more sophisticated functionality, you're better off using it instead.
12
11
13
12
### Warning
14
13
@@ -17,18 +16,16 @@ You may enable dry-run mode. This is enabled in the config template by default.
17
16
Unless you disable dry-run mode, nothing will be deleted.
18
17
19
18
You may check the container logs for Janitorr to observe what the application would do, were you to turn off dry-run
20
-
mode.
21
-
If you don't manage your container via a GUI like portainer, try `docker logs janitorr`.
19
+
mode. Janitorr logs to stdout, so you can view your logs in Docker. It is recommended to enable file logging in your config.
20
+
Make sure `/logs` is mapped into the container, so that Janitorr can write log files to the host and not inside the container.
22
21
23
22
If you still don't trust Janitorr, you may enable Recycle Bin in the *arrs and disable Jellyfin/Emby.
24
23
This way, no deletes will be triggered on Jellyfin and everthing triggered in the *arrs will only go to the Recycle Bin.
25
24
26
-
To enable debug logging, add the following lines at the top of your `application.yml`:
25
+
To enable debug logging, change `INFO` following line in `application.yml` to either `DEBUG` or `TRACE`:
27
26
28
27
```yml
29
-
logging:
30
-
level:
31
-
com.github.schaka: TRACE
28
+
com.github.schaka: INFO
32
29
```
33
30
34
31
### Introduction
@@ -39,7 +36,7 @@ logging:
39
36
- Do you have a lot of media that never gets watched?
40
37
- Do your users constantly request media, and let it sit there afterward never to be touched again?
41
38
42
-
You NEED [Maintainerr for Plex](https://github.com/jorenn92/Maintainerr) or Janitorr for Jellyfin and Emby.
39
+
You Janitorr for Jellyfin and Emby.
43
40
It's THE solution for cleaning up your server and freeing up space before you run into issues.
44
41
45
42
## Features
@@ -53,32 +50,17 @@ It's THE solution for cleaning up your server and freeing up space before you ru
53
50
- Season by season removal for TV shows, or optionally the entire show
54
51
- Clear requests from Jellyseerr and clean up leftover metadata in Jellyfin so no orphaned files are left
55
52
56
-
### Disclaimer
53
+
### Important notes
57
54
58
55
- **I don't use Emby. I implemented and tested it, but for maintenance I rely on bug reports**
56
+
- Only one of Jellyfin or Emby can be enabled at a time
59
57
- "Leaving Soon" Collections are *always* created and do not care for dry-run settings
60
58
- Jellyfin and Emby require user access to delete files, an API key is not enough - I recommend creating a user specifically for this task
61
-
- Jellyfin does NOT provide viewing stats like Plex, so we go by file age in the *arrs - unless you provide access to JellyStat
62
59
- Jellyfin/Emby and Jellyseerr are not required, but if you don't supply them, you may end up with orphaned folders, metadata, etc
63
-
- Only one of Jellyfin or Emby can be enabled at a time
64
-
- **If file system access isn't given, files currently still seeding may be deleted by the Sonarr/Radarr**
65
60
66
61
### Troubleshooting
67
62
Before you create a new issue, please check previous issues to make sure nobody has faced the same problem before.
68
-
The Wiki also contains a troubleshooting section with commons errors.
69
-
70
-
### Note to developers
71
-
72
-
I currently have to load pretty much the entire library in one REST call to manually match media. While both Jellyfin and Emby have
73
-
some (different) filters for your library's content,
74
-
I found both of them to be pretty wonky at best. Some parameters seemed to do nothing, others weren't marked as required
75
-
when they were or results were unpredictable when an invalid value was supplied.
76
-
This is also one area where Jellyfin and Emby tend to be quite different.
77
-
78
-
For those more familiar with Java/Kotlin, GraalVM and Spring:
79
-
The reason the code looks a little messy and doesn't let Spring's magic run wild with `@ConditonalOnProperty` is because native images don't support this (yet).
80
-
Proxies are very limited and creating a `@Bean` inside a `@Config` doesn't produce working proxies for things like `@PostConstruct` and `@Cacheable` half the time.
81
-
AOT also doesn't work exactly the same as native image deployment and thus is a lot harder to debug.
63
+
[The Wiki](https://github.com/Schaka/janitorr/wiki) also contains a troubleshooting section with commons errors.
A native image is also published for every build. It keeps a much lower memory and CPU footprint and doesn't require longer runtimes to achieve optimal performance (JIT).
151
135
If you restart more often than once a week or have a very low powered server, this is now recommended.
152
136
That image is always tagged `:native-stable`. To get a specific version, use `:native-v1.x.x`.
153
-
While I do publish an arm64 version of this image, it is mostly untested.
137
+
**While I do publish an arm64 version of this image, it is mostly untested.**
154
138
The healthcheck also work slightly differently, see below:
155
139
156
140
```yml
@@ -163,6 +147,7 @@ services:
163
147
user: 1000:1000 # Replace with your user who should own your application.yml file
Copy file name to clipboardExpand all lines: src/main/resources/application-template.yml
+6
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,12 @@
1
1
server:
2
2
port: 8978
3
3
4
+
logging:
5
+
level:
6
+
com.github.schaka: INFO # Set to debug or trace to get more info about what Janitorr is doing
7
+
threshold:
8
+
file: NONE # Set to TRACE to enable file logging
9
+
4
10
# File system access (same mapping as Sonarr, Radarr and Jellyfin) is required to delete TV shows by season and create "Leaving Soon" collections in Jellyfin
5
11
# Currently, Jellyfin does not support an easy way to add only a few seasons or movies to a collection, we need access to temporary symlinks
6
12
# Additionally, checks to prevent deletion on currently still seeding media currently require file system access as well
0 commit comments