Relays new Docker image release announcements from RSS feeds directly to Discord.
6.9K
release-feeds-to-discord is a Python application that relays new Docker image release announcements from RSS feeds directly to Discord.
You provide a list of RSS feed URLs to monitor.
The application checks them regularly and sends new entries to Discord, based on your configuration.
To add a new feed, simply specify the name of a Docker image.
The application will try to automatically:
docker run -it --rm --name release-feeds-to-discord \
-e TZ=Europe/Paris \
-e APP_PASSWORD=password \
-e APP_SECRET_KEY=thisisabsolutelyfantastichetohaveamogwaiathome \
-e LOG_LEVEL=info \
-v ./config:/config \
-v ./logs:/logs \
-p 6544:6543 \
waazaafr/release-feeds-to-discord:latest
git clone https://codeberg.org/waazaa/release-feeds-to-discord.git .
docker build -t release-feeds-to-discord .
docker run -it --rm --name release-feeds-to-discord \
-e TZ=Europe/Paris \
-e APP_PASSWORD=password \
-e APP_SECRET_KEY=thisisabsolutelyfantastichetohaveamogwaiathome \
-e LOG_LEVEL=info \
-v ./config:/config \
-v ./logs:/logs \
-p 6544:6543 \
release-feeds-to-discord
services:
release_feeds_to_discord:
image: waazaafr/release-feeds-to-discord:latest
container_name: release-feeds-to-discord
ports:
- 6543:6543
environment:
- TZ=Europe/Paris
- APP_PASSWORD=password
- APP_SECRET_KEY=thisisabsolutelyfantastichetohaveamogwaiathome
- LOG_LEVEL=info
volumes:
- ./config:/config
- ./logs:/logs
git clone https://codeberg.org/waazaa/release-feeds-to-discord.git .
services:
release_feeds_to_discord:
build: .
image: release-feeds-to-discord
container_name: release-feeds-to-discord
ports:
- 6543:6543
environment:
- TZ=Europe/Paris
- APP_PASSWORD=password
- APP_SECRET_KEY=thisisabsolutelyfantastichetohaveamogwaiathome
- LOG_LEVEL=info
volumes:
- ./config:/config
- ./logs:/logs
Visit: http://your-ip:6543
π‘οΈ Default login password: password
The configuration is done in the webui but if you want to setup directly on config file this is the structure.
Sample configuration file (config.json):
{
"global_interval": 10,
"default_webhook": "https://discord.com/api/webhooks/1149304764908175410/8uA3U3bBXmJ82rAmxf6I2ozCh5-3kxHMYviNfQJ5EcgBikzJPA74X5VZJeeMvkhgJbVL",
"feeds": [
{
"url": "https://github.com/immich-app/immich/releases.atom",
"name": "immich-app/immich",
"avatar": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/immich.png",
"allow_nightly": false,
"webhook": "",
"max_announcements": 5
}
]
}
| Key | Description |
|---|---|
global_interval | Interval between two feed checks, in minutes (e.g. 10 = check every 10 minutes). |
default_webhook | The Discord webhook URL used when a feed doesnβt specify its own webhook. |
feeds | A list of RSS feeds to monitor. Each feed object supports the following fields: |
| Field | Description |
|---|---|
url | The RSS or Atom feed URL to monitor for new releases. |
name | A human-readable name for the feed, typically the Docker image or repository name. |
avatar | (Optional) URL of an image/icon to use as the avatar in the Discord notification. |
allow_nightly | If false, the app will skip releases containing "nightly" in their title. |
webhook | (Optional) A specific Discord webhook URL for this feed. If empty, default_webhook is used. |
max_announcements | The maximum number of releases to announce for this feed per check (only the most recent ones). |
This setup will monitor the immich-app/immich GitHub releases feed every 10 minutes and post up to 5 new releases (excluding nightly builds) to the configured Discord channel, using the provided avatar image.
When visiting a GitHub project that has a Releases page,
you can easily get the RSS feed by adding the .atom suffix.
If the release page is:
https://github.com/name/project/releases
Then the corresponding RSS feed URL will be:
https://github.com/name/project/releases.atom
You can use this .atom URL in your configuration under the url field of a feed.
Docker Hub does not provide RSS feeds for images,
but you can easily generate them using the docker-hub-rss container (https://github.com/TheConnMan/docker-hub-rssβ ).
Run the container (replace library/nginx with the image you want to track):
docker run -d \
-p 8080:3000 \
theconnman/docker-hub-rss
Then open in your browser:
http://localhost:8080/library/nginx.atom
This will display the RSS feed for library/nginx, which you can use in your configuration under the url field.
You can track multiple images by setting the IMAGES environment variable (comma-separated):
docker run -d \
-p 8080:3000 \
-e IMAGES="library/nginx,library/redis,myuser/myimage" \
theconnman/docker-hub-rss
Then access each feed individually:
http://localhost:8080/library/nginx.atom
http://localhost:8080/library/redis.atom
http://localhost:8080/myuser/myimage.atom
Minimal docker-compose.yml file:
services:
docker-hub-rss:
image: theconnman/docker-hub-rss:latest
container_name: docker-hub-rss
ports:
- "8080:3000"
restart: unless-stopped
Start the service:
docker-compose up -d
-p 127.0.0.1:8080:8080.-p mapping and the URL (e.g., -p 9000:8080 β http://localhost:9000/library/nginx).http://<host>:<port>/<namespace>/<repo>) directly in your RSS configurationβs url field.Made with β€οΈ for Docker community
================================================================
Discord: https://discord.gg/p9xkjEw8tsβ
Buy me coffee:
Content type
Image
Digest
sha256:3d32d7df2β¦
Size
90.3 MB
Last updated
11 months ago
docker pull waazaafr/release-feeds-to-discord