feat: self-hosted Docker image with Gitea Actions and Unraid docs
Some checks failed
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>
This commit is contained in:
dev
2026-03-03 16:59:49 +00:00
parent 719528a06b
commit d8e0e41f22
4 changed files with 138 additions and 48 deletions

View File

@@ -55,26 +55,30 @@ media:
api_key: omdb-api-key
tvdb:
api_key: tvdb-legacy-api-key
tmdb:
api_key: tmdb-api-key
```
An omdb `api_key` can be provided which will be used to supplement trakt data with additional information such as:
- Metascore
- Metascore
- RottenTomatoes
- ImdbRating
- ImdbVotes
- Language
- ImdbRating
- ImdbVotes
- Language
- Country
An tvdb `api_key` can be provided which will be used to supplement trakt data with additional information such as:
- Runtime
- Language
- Genre
- AirsDayOfWeek
- SiteRating
- Runtime
- Language
- Genre
- AirsDayOfWeek
- SiteRating
- SiteRatingCount
A tmdb `api_key` can be provided to enable automatic enrichment of RSS feed items that carry no media ID. When an item has no tvdb/imdb/tmdb ID, Nabarr will parse the release title, extract a clean title and year, then search TMDB to resolve a TMDB ID before processing. Get a free API key at [themoviedb.org](https://www.themoviedb.org/settings/api).
### PVR
@@ -139,11 +143,11 @@ rss:
- sonarr
```
In order for Nabarr to be-able to process items in these feeds, a tvdb and/or imdb id must be present in the feed items.
In order for Nabarr to process items in these feeds, a tvdb, imdb or tmdb id must be present in the feed items. If no ID is found but a `tmdb.api_key` is configured, Nabarr will attempt to resolve the ID automatically from the release title.
If there is a tvdb id present, it is assumed that the feed item relates to a TV Series and thus, the item will propagate to any Sonarr PVR specified.
If there is a imdb id present, it is assumed that the feed item relates to a Movie and thus, the item will propagate to any Radarr PVR specified.
If there is a imdb or tmdb id present, it is assumed that the feed item relates to a Movie and thus, the item will propagate to any Radarr PVR specified.
### Full config file
@@ -224,12 +228,18 @@ rss:
### Docker
Nabarr's Docker image provides various versions that are available via tags. The `latest` tag usually provides the latest stable version. Others are considered under development and caution must be exercised when using them.
The Docker image is built automatically from this repository and pushed to the Gitea container registry on every commit to `master`.
| Tag | Description |
| :----: | --- |
| latest | Latest stable version from a tagged GitHub release |
| master | Most recent GitHub master commit |
| `latest` | Most recent master commit |
| `master` | Most recent master commit |
#### Build locale
```bash
docker build -t nabarr -f docker/Dockerfile .
```
#### Usage
@@ -237,41 +247,57 @@ Nabarr's Docker image provides various versions that are available via tags. The
docker run \
--name=nabarr \
-e "PUID=1000" \
-e "PGID=1001" \
-e "PGID=1000" \
-v "/opt/nabarr:/config" \
--restart=unless-stopped \
-d cloudb0x/nabarr:latest
-d forge.dilain.com/laurent/nabarr:latest
```
#### Parameters
Nabarr's Docker image supports the following parameters.
| Parameter | Function |
| :----: | --- |
| `-e PUID=1000` | The UserID to run the Nabarr binary as |
| `-e PGID=1000` | The GroupID to run the Nabarr binary as |
| `-e APP_VERBOSITY=0` | The Nabarr logging verbosity level to use. (0 = info, 1 = debug, 2 = trace) |
| `-v /config` | Nabarr's config |
| `-e PUID=1000` | UserID to run Nabarr as |
| `-e PGID=1000` | GroupID to run Nabarr as |
| `-e APP_VERBOSITY=0` | Log verbosity (0 = info, 1 = debug, 2 = trace) |
| `-v /config` | Config, cache and log directory |
#### Cloudbox
### Unraid
The following Docker setup should work for many Cloudbox users.
#### Ajouter le registre privé
**WARNING: You still need to configure the `config.yml` file!**
Dans **Settings → Docker → Registry URL**, ajouter :
```bash
docker run \
--name=nabarr \
-e "PUID=1000" \
-e "PGID=1001" \
-v "/opt/nabarr:/config" \
--label="com.github.cloudbox.cloudbox_managed=true" \
--network=cloudbox \
--network-alias=nabarr \
--restart=unless-stopped \
-d cloudb0x/nabarr:latest
```
https://forge.dilain.com
```
#### Ajouter le conteneur manuellement
Dans l'onglet **Docker**, cliquer sur **Add Container** et renseigner :
| Champ | Valeur |
| --- | --- |
| Name | `nabarr` |
| Repository | `forge.dilain.com/laurent/nabarr:latest` |
| Network Type | `bridge` |
| Restart | `unless-stopped` |
Ajouter les variables d'environnement :
| Variable | Valeur par défaut | Description |
| --- | --- | --- |
| `PUID` | `99` | UserID (nobody sur Unraid) |
| `PGID` | `100` | GroupID (users sur Unraid) |
| `APP_VERBOSITY` | `0` | Niveau de log (0/1/2) |
Ajouter le volume :
| Container path | Host path |
| --- | --- |
| `/config` | `/mnt/user/appdata/nabarr` |
> **Note :** Placer le fichier `config.yml` dans `/mnt/user/appdata/nabarr/` avant de démarrer le conteneur.
## Donate