61 Commits

Author SHA1 Message Date
dev da86a1d419 feat: fallback to TMDB external_ids when Trakt rejects tmdbId
Docker / docker (push) Successful in 1m49s
When Trakt returns a non-404 error (e.g. 403) for a tmdbId lookup,
fetch the imdbId from TMDB's /external_ids endpoint and retry the
Trakt call using the imdbId. Trakt often knows a movie/show by its
imdbId even when it does not recognise the tmdbId.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 18:44:56 +00:00
dev 93cf3fb8ec fix: downgrade Trakt 403 log from ERR to WARN
Docker / docker (push) Successful in 1m50s
Trakt returns 403 (not 404) for tmdb IDs it doesn't have in its
database. This is expected behavior, not an application error, so
logging at WARN avoids false alarm noise in production logs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 18:18:30 +00:00
dev cdacdb3cbd fix: install docker cli in job, use plain docker build/push
Docker / docker (push) Successful in 2m23s
2026-03-03 18:00:41 +00:00
dev 35393dd989 fix: use REGISTRY_TOKEN secret for Gitea container registry login
Docker / docker (push) Failing after 16s
2026-03-03 17:59:19 +00:00
dev e156da64ab ci: retrigger build
Docker / docker (push) Failing after 5m3s
2026-03-03 17:39:09 +00:00
dev e9f2952efc fix: remove duplicate docker socket mount from act_runner config
Docker / docker (push) Failing after 0s
2026-03-03 17:35:43 +00:00
dev 3681ba86bc ci: fix duplicate docker socket mount
Docker / docker (push) Failing after 0s
2026-03-03 17:35:29 +00:00
dev 85bd871e92 ci: trigger first automated Docker build
Docker / docker (push) Failing after 0s
2026-03-03 17:28:47 +00:00
dev 0e19adc36c build: configure act_runner and simplify Docker workflow to amd64
Docker / docker (push) Failing after 35s
- act_runner.compose.yml: auto-register with forge, mount Docker socket
- act_runner.config.yaml: pass Docker socket to job containers, host network
- docker.yml: drop QEMU/multi-arch, build linux/amd64 only (faster)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 17:17:07 +00:00
dev 8aa758dc61 build: add manual build script and act_runner setup for Unraid
Docker / docker (push) Has been cancelled
- docker/build-and-push.sh: build and push image to forge registry from
  any machine with Docker (run directly on Unraid terminal)
- docker/act_runner.compose.yml: Gitea act_runner setup to automate
  Docker builds via Gitea Actions on Unraid

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 17:11:18 +00:00
dev d8e0e41f22 feat: self-hosted Docker image with Gitea Actions and Unraid docs
Docker / docker (push) Has been cancelled
- Dockerfile: replace s6overlay with multi-stage build (golang:1.22-alpine
  builder + alpine:3.19 runtime), compiles from source, no goreleaser needed
- docker/entrypoint.sh: PUID/PGID support via su-exec
- .gitea/workflows/docker.yml: auto-build and push to Gitea container
  registry on every master commit (linux/amd64 + linux/arm64)
- README: add tmdb api_key docs, update Docker section to point to
  forge.dilain.com registry, add Unraid setup section

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 16:59:49 +00:00
dev 719528a06b feat: enrich RSS items without IDs via TMDB title search
Build / build (push) Failing after 13m30s
Items from RSS feeds that have no media ID (tmdb/imdb/tvdb) are now
enriched automatically using TMDB's search API. The release name is
parsed to extract a clean title and year, then searched against TMDB
to retrieve the TMDB ID before validation.

- Add media/tmdb package with SearchMovies, SearchShows, and
  ExtractTitleAndYear (parses torrent release names)
- Add EnrichFeedItemWithTmdbId to media.Client, called in rss/process.go
  before the ID validation switch
- Add --run-now flag to nabarr run to trigger all feeds immediately
- Wire media.Client through rss.Client and rssJob
- Merge feature/add-tag-option (tag support for Sonarr/Radarr)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 16:53:54 +00:00
WSHaRK93 4e09b14318 Add tag support to Sonarr/Radarr requests 2026-01-03 11:07:48 +01:00
l3uddz 083e806d43 feat: support sonarr v4 (#43)
Build / build (push) Has been cancelled
2022-11-02 11:05:50 +00:00
l3uddz fe50d7cffe build: go 1.19 2022-10-02 11:29:08 +01:00
l3uddz b8fe755cc0 build: use goreleaser 1.7.0 2022-06-22 08:22:50 +01:00
l3uddz bfb4cc1401 chore: dep updates 2022-06-22 08:20:31 +01:00
l3uddz 79507adb4a feat: respect pvr exclusions (#37) 2022-04-14 16:18:06 +01:00
l3uddz 2468d5b251 docker: v2 s6overlay base image 2022-04-11 14:40:53 +01:00
l3uddz 19a5e73c19 refactor: imports 2022-04-01 20:42:05 +01:00
l3uddz a73b07a041 refactor(build): use go 1.18 and task instead of make (#35) 2022-04-01 20:20:33 +01:00
l3uddz 947f24f79a chore: dep updates 2022-02-02 08:41:38 +00:00
l3uddz 6a31a05e9a test: newznab category tests 2021-11-21 13:33:44 +00:00
l3uddz a4d8a0e4cc fix(rss): improve dispatching of tmdb items to appropriate pvr's (#33) 2021-11-21 13:24:13 +00:00
l3uddz 685a9a075d build: freebsd and universal mac binaries (#32) 2021-10-19 14:09:35 +01:00
l3uddz 0a0f300536 omdb: make Rated accessible via filters
Closes #28
2021-09-18 09:56:42 +01:00
l3uddz fbcce0a55b fix(rss): support prowlarr feeds (#31)
* fix(rss): support thetvdb attribute for prowlarr support

* refactor(rss): allow queue of rss items with tmdb in for sonarr

* fix(test): set test item title based on the pvr type

* refactor(build): windows arm64 builds
2021-09-13 17:55:11 +01:00
James Bayliss ce36c433fa fix(sonarr): error message typo 2021-06-19 21:40:53 +01:00
l3uddz 3044c96445 fix(pvr): only support v3 arrs (#30)
* fix(pvr): only support v3 apis

* fix(pvr): support v3 sonarr add series
2021-06-11 08:21:38 +01:00
l3uddz 5091d78acf misc: rss and media changes (#27)
* refactor: tweak rss processing

* media: override trakt network with tvdb network if trakts is empty

* media: dont merge tvdb language with trakt language

* media: resolve issue with imdb ids
2021-03-05 22:35:16 +00:00
James Bayliss c3ab8eda6e web: check request before setting header 2021-02-26 21:53:13 +00:00
James Bayliss a9486e1ce2 web: set user-agent for all web requests 2021-02-26 21:51:15 +00:00
l3uddz 9c2b2ece33 build: arm v7 (#26) 2021-02-25 22:31:28 +00:00
James Bayliss bf23d93209 media: merge tvdb and trakt languages 2021-02-24 18:57:39 +00:00
James Bayliss cea77e7849 refactor: replace fatal log messages with error 2021-02-23 19:52:48 +00:00
James Bayliss f0bf97293c omdb: strip non numeric from ImdbVotes
Closes #24
2021-02-23 18:55:16 +00:00
l3uddz 7472fcbf0c build: create amd64/arm64 compatible docker images (#23) 2021-02-22 18:24:11 +00:00
l3uddz 10a70f1da2 media: support rss movie items with tmdb ids (#22) 2021-02-21 22:30:56 +00:00
l3uddz db9fdc97a2 refactor: http retry for retryable errors (#20) 2021-02-21 14:01:21 +00:00
l3uddz a2848439b9 pvr: add options and support for anime (#17)
* pvr: begin adding options

* pvr: add ability to configure add behaviour via config

* pvr: add skip_anime

* pvr: do not continue processing item if lookup failed or add to pvr failed
2021-02-20 20:01:04 +00:00
James Bayliss 523e561666 rss: alter cache key 2021-02-20 00:25:20 +00:00
James Bayliss c2b98de737 refactor(media/tvdb): update log message 2021-02-19 23:33:33 +00:00
l3uddz e5bcb5b381 media: add support for legacy tvdb api (#16) 2021-02-19 23:31:23 +00:00
l3uddz 5b179ed8dc cache: use badgerdb (#15) 2021-02-19 22:20:02 +00:00
l3uddz e1945cf714 refactor: add cache tests and remove cache merge task (#14) 2021-02-19 19:15:38 +00:00
l3uddz 54cfd68810 media: add Language and Country to Omdb struct (#13) 2021-02-17 22:48:36 +00:00
l3uddz 3a8b503af8 build: use go 1.16 and build arm binaries (#12) 2021-02-17 16:47:31 +00:00
James Bayliss 9c8977a474 rss: continue to sort results by pubdate desc 2021-02-16 19:35:21 +00:00
James Bayliss 4476094add rss: use filters hash relative to its own pvrs 2021-02-16 19:09:01 +00:00
James Bayliss 495c5a5c1a media: add ImdbVotes field to Omdb struct 2021-02-15 20:06:42 +00:00