README.md

 1<!--
 2SPDX-FileCopyrightText: Amolith <amolith@secluded.site>
 3
 4SPDX-License-Identifier: CC0-1.0
 5-->
 6
 7# Willow
 8
 9[![Go report card status][goreportcard-badge]][goreportcard]
10[![REUSE status][reuse-shield]][reuse]
11[![Donate with fosspay][fosspay-shield]][fosspay]
12
13_Software release tracker supporting arbitrary forges_
14
15## What is it?
16
17Willow tracks software releases across arbitrary forge platforms by trying to
18support one of the very few things they all have in common: the VCS. At the
19moment, git is the _only_ supported VCS, but I would be interested in adding
20Pijul, Fossil, Mercurial, etc. You can also track releases using RSS feeds.
21
22Willow exists because decentralisation can be annoying. One piece of software
23can be found on GitHub, another piece on GitLab, one on Bitbucket, a fourth on
24SourceHut, and a fifth on the developer's self-hosted Forgejo instance. Forgejo
25and GitHub have RSS feeds that only notify you of releases. GitLab doesn't
26support RSS feeds for anything, just an API you can poke. Some software updates
27might be on the developers' personal blog. Sometimes there are CVEs for specific
28software and they get published somewhere completely different before they're
29fixed in a release.
30
31I want to bring all that scattered information under one roof so a developer or
32sysadmin can pop open willow's web UI and immediately see what needs updating
33where. I've recorded some of my other ideas and plans in [my wiki].
34
35[my wiki]: https://wiki.secluded.site/hypha/willow
36
37## Installation and use
38
39* Clone the repo
40* Build the binary with `CGO_ENABLED=0 go build .`
41* Upload it to a remote server
42* Execute the binary
43* Reverse proxy `localhost:1337`
44* Open the web UI
45* Click `Track new project`
46* Fill out the form
47* Indicate which version you're currently on
48* That's it!
49
50Note that there's currently no authentication, so consider putting your instance
51behind HTTP Basic Auth, keeping it private, or helping me implement
52authentication.
53
54## Questions & Contributions
55
56Questions, comments, and patches can always be sent to my public inbox, but I'm
57also in my IRC channel/XMPP room pretty much 24/7. However, I might not see
58messages right away because I'm working on something else (or sleeping) so
59please stick around!
60
61If you're wanting to introduce a new feature and I don't feel like it fits with
62this project's goal, I encourage you to fork the repo and make whatever changes
63you like!
64
65- Email: [~amolith/public-inbox@lists.sr.ht][email]
66- IRC: [irc.nixnet.services/#secluded][irc]
67- XMPP: [secluded@muc.secluded.site][xmpp]
68
69_If you haven't used mailing lists before, please take a look at [SourceHut's
70documentation](https://man.sr.ht/lists.sr.ht/), especially the etiquette
71section._
72
73[email]: mailto:~amolith/public-inbox@lists.sr.ht
74[irc]: irc://irc.nixnet.services/#secluded
75[xmpp]: xmpp:secluded@muc.secluded.site?join
76
77[goreportcard-badge]: https://goreportcard.com/badge/git.sr.ht/~amolith/willow
78[goreportcard]: https://goreportcard.com/report/git.sr.ht/~amolith/willow
79[reuse]: https://api.reuse.software/info/git.sr.ht/~amolith/willow
80[reuse-shield]: https://shields.io/reuse/compliance/git.sr.ht/~amolith/willow
81[fosspay]: https://secluded.site/donate/
82[fosspay-shield]: https://shields.io/badge/donate-fosspay-yellow