Updater is a small Go tool that watches Wiki.js, Redmine and Gitea, and posts new activity to Discord webhooks. A local cache makes sure each update is announced once.
How it works
Fetch — poll the configured APIs for the latest activity: Wiki.js pages, Redmine issues, Gitea commits / issues / PRs.
Compare — check the latest id or timestamp against cache.json.
Notify — format the new activity and send it to the webhook belonging to that source.
Update cache — write the latest activity back, so the next run does not repeat it.
Configuration
Environment variables; copy env-example to .env.
General
Variable
Description
Default
INTERVAL_MINUTES
Frequency of update checks (in minutes).
5
DISCORD_WEBHOOK
Default Discord webhook URL if a service-specific one isn't provided.
-
DISCORD_FAKE
If set to true, messages are logged to console instead of being sent to Discord.
false
Wiki.js
Variable
Description
WIKI_BASE_URL
Base URL of your Wiki.js instance (e.g., https://wiki.example.com).
WIKI_TOKEN
API Token for Wiki.js.
WIKI_DISCORD_WEBHOOK
Discord webhook URL for Wiki.js notifications.
WIKI_CONTENT_LIMIT
Number of recent items to check.
Redmine
Variable
Description
REDMINE_BASE_URL
Base URL of your Redmine instance.
REDMINE_KEY
API Key for Redmine.
REDMINE_DISCORD_WEBHOOK
Discord webhook URL for Redmine notifications.
REDMINE_CONTENT_LIMIT
Number of recent items to check.
Gitea
Variable
Description
GITEA_BASE_URL
Base URL of your Gitea instance.
GITEA_TOKEN
API Token for Gitea.
GITEA_REPOS
Comma-separated list of repositories to watch (e.g., org/repo1,user/repo2).