All apps · 0 apps
Jellyfin-Newsletter
Docker app from guniv's Repository
Overview
Readme
View on GitHubJellyfin Newsletter - keep your users updated
A newsletter for Jellyfin to notify your users of your latest additions. Jellyfin Newsletter connects to the Jellyfin API to retrieve recently added items and send them to your users.
It is fully customizable and can be run on a schedule using a cron job or a task scheduler.
Table of Contents
What it looks like
Features
- Retrieve the last added movies and TV shows from your Jellyfin server
- Send a newsletter to your users with the last added items
- Retrieve the movie details from TMDB, including poster
- Group TV shows by seasons
- Fully customizable and responsive email template
- Easy to maintain, extend, setup and run
- Support many languages (see below)
- Configure the list of recipients
- Configure specific folders to watch for new items
- Support themes
Supported languages
You can contribute to the translation of Jellyfin-Newsletter on Weblate
Custom themes
Create a new theme
You can create and propose a new theme by following the theme creation guide.
Currently available themes:
Classic
Bring your own themes
Jellyfin-Newsletter comes with built-in and embedded themes (listed above). However, before your new beautiful theme gets included in the official themes, you can just instruct Jellyfin-Newsletter to use a local theme file.
Follow these instructions to use your own local theme files
Recommended installation: Docker
Requirements
- Docker
- Jellyfin API key - How to generate an API key
- A TMDB API key (free) - How to generate a TMDB API key
- A SMTP server
Configuration with built-in cron job (recommended)
This is the default and recommended way to run the newsletter. The Docker container will run on a schedule using a built-in cron job. It will run on the schedule defined in the config/config.yml file.
- Download the docker-compose.yml file:
curl -o docker-compose.yml https://raw.githubusercontent.com/SeaweedbrainCY/jellyfin-newsletter/refs/heads/main/docker-compose.yml
(optional) Edit the
docker-compose.ymlfile to change the default user or timezone.Create a
configfolder in the same directory as thedocker-compose.ymlfile:
mkdir config
- Download the config file in the
configfolder:
curl -o config/config.yml https://raw.githubusercontent.com/SeaweedbrainCY/jellyfin-newsletter/refs/heads/main/config/config-example.yml
Edit the
config/config.ymlfile and fill in the required fields. All non-commented fields are required.Run the docker container with docker compose
docker compose up -d
[!note] Note: It is recommended to use a static version instead of
latest, and manually upgrade. Last version
Configuration with external cron job
Use this method if you want to run the script on a schedule using an external cron job or task scheduler, instead of the built-in cron job. Docker will run once, and exit after sending the newsletter.
- Create a
configfolder.
mkdir config
- Download the config file in the
configfolder:
curl -o config/config.yml https://raw.githubusercontent.com/SeaweedbrainCY/jellyfin-newsletter/refs/heads/main/config/config-example.yml
Edit the
config/config.ymlfile and fill in the required fields. All non-commented fields are required.Run the docker container to send the newsletter
docker run --rm \
-v ./config:/app/config \
ghcr.io/seaweedbraincy/jellyfin-newsletter:1.1.0
[!note] Note: It is recommended to use a static version instead of
latest, and manually upgrade. Last version
- Schedule the script to run on a regular basis.
# Unix :
crontab -e
# Add the following line to run the script every 1st of the month at 8am
0 8 1 * * root docker run --rm -v PATH_TO_CONFIG_FOLDER/config:/app/config/ ghcr.io/seaweedbraincy/jellyfin-newsletter:1.1.0
License
This project is licensed under the AGPLv3 License—see the LICENSE file for details.
Contribution
Feel free to contribute to this project by opening an issue or a pull request.
A contribution guide is available in the CONTRIBUTING.md file.
If you like this project, consider giving it a ⭐️.
If you encounter any issues, please let me know by opening an issue.
How to
How to generate a Jellyfin API key
- Go to your Jellyfin dashboard
- Scroll to advanced section and click on API keys
- Click on the
+button to create a new API key - Fill in the required fields and click on save
- Copy the generated API key
- Paste it in the
config.ymlfile underjellyfin.api_token
How to generate a TMDB API key
- Go to the TMDB website
- Create an account or log in
- Go to your account settings
- Click on the API section
- Click on the
Createbutton to create a new API key - Copy the API key named "API Read Access Token"
- Paste it in the
config.ymlfile undertmdb.api_key
Media gallery
Install Jellyfin-Newsletter on Unraid in a few clicks.
Find Jellyfin-Newsletter in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/seaweedbraincy/jellyfin-newsletter:latestRuntime arguments
- Network
bridge- Shell
sh- Privileged
- false
Template configuration
This is where the config file for Jellyfin Newsletter is stored. Edit the config.yml in this folder.
- Target
- /app/config
- Default
- /mnt/user/appdata/jellyfin-newsletter/
- Value
- /mnt/user/appdata/jellyfin-newsletter/
The time zone that will be used for the built in scheduler. See time zone examples here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
- Target
- TZ
- Default
- America/New_York
- Value
- America/New_York
The user ID that the container will run Jellyfin Newsletter as.
- Target
- USER_UID
- Default
- 1000
- Value
- 1000
The group ID that the container will run Jellyfin Newsletter as.
- Target
- GROUP_GID
- Default
- 1000
- Value
- 1000