Latestver
Dependency monitoring web-application featuring webhooks, JSON API, and project-level tracking.
Hosted edition available at: lv.binarybabel.org
Supports tracking the latest versions of your favorite software via:
- Git repository tags
- RubyGems
- NPM Packages
- Web-page scraping
Deploying Latestver Privately
Latestver is available as a Docker Image: hub.docker.com/r/binarybabel/latestver
By default the application will be available from http://localhost:3333
Running Directly
docker run -p 3333:3333 -v $(pwd):/app/data --name latestver binarybabel/latestver
Using docker-compose.yml
version: '2'
services:
app:
image: binarybabel/latestver
volumes:
- .:/app/data
ports:
- "3333:3333"
Customizing
Environment variables and defaults
Catalog Settings
-
REFRESH_ENABLED
- default: true - catalog versions refreshed automatically (at startup and set interval)
-
REFRESH_INTERVAL
- default: 1h - how often catalog is refreshed, ex: (7d, 1h, 15m, 60s)
-
CACHE_CONTROL_MAX_AGE
- default: 0 - how many seconds browsers or proxies may cache catalog results
-
GA_TRACKING_ID
- default: none - Enable Google Analytics, ex: UA-00000000-1
Security Settings
-
ADMIN_PASS
- no default - if set admin pages are password protected
-
ADMIN_USER
- default: admin
Custom Catalog Entries
You can create custom catalog models for advanced version checking.
Here are some code references:
- Base model - Shows abstract functions and parsing helpers
- RubyGem model - Good starting example
- All other models - More advanced examples
Your model should be namespaced module Catalog
and reside within your data volume in a lib/catalog/
subdirectory.
Contributing
- Fork this repo on github.com and clone it to your workstation
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push the branch (
git push origin my-new-feature
) - Submit new Pull Request from GitHub
Author and License
- Author: BinaryBabel OSS (https://keybase.io/binarybabel)
- License: GNU GPL 3
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Project Includes
Latestver utilizes the following open-source projects...
- Bootstrap -- getbootstrap.com
- Font Awesome -- fontawesome.io
- RailsAdmin -- github
- Shields -- shields.io
Other dependencies are enumerated in Dockerfile
and Gemfile
.