Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

24 Commits

Repository files navigation

VersionTracker

VersionTracker is a Laravel 13 application that centralizes software versions, releases, and security information. The project provides a modern Filament 5 admin panel (incl. Analytics Dashboard) as well as a public Vue frontend with timeline visualization.

Features

  • Filament Admin with approval workflow, Analytics Dashboard, and Audit Tools
  • Release Timeline SPA (Vue 3 + Vite) including software filter
  • Demo Data & User for an immediately populated showcase
  • Tailwind v4 Design System with custom Filament theme

Stack

  • PHP 8.4 · Laravel 13 · Livewire 4 · Filament 5
  • MariaDB/MySQL/PostgreSQL/SQLite (Default: SQLite)
  • Node 22.18+ · Vite 8 · Vue 3 · Vue Router 5 · Vue I18n 11 · Tailwind CSS 4

Requirements

  • PHP >= 8.4.1 + Composer 2.x
  • Node.js >= 22.18 + npm 10
  • SQLite (default) or an alternative database

Installation

  1. Clone Repository

    git clone https://github.com/<your-org>/versiontracker.git
    cd versiontracker
  2. Install the Application

    composer run setup

    This creates the SQLite database, generates the application key, runs migrations, installs locked frontend dependencies, and builds the assets.

  3. Start Application

    composer run dev

    App available at http://localhost:8000. The Filament panel is at /admin.

For demo data, run php artisan db:seed after setup.

Demo Accounts

EnvironmentUserPassword
Filament Admindemo@example.compassword

Frontend Access

  • Public Timeline SPA: /timeline
  • API Endpoints: /api/public/* (e.g. /api/public/timeline)

Development Workflows

  • Code Style: vendor/bin/pint --dirty
  • Tests: php artisan test
  • Vite Dev Server: npm run dev
  • Build: npm run build
  • Local App Stack: composer run dev

Self-Hosting with Docker

Each v0.x.y GitHub release publishes a container image at ghcr.io/soerennb/version-tracker and a compact deployment bundle. The installer requires a concrete release tag; production deployments never use latest.

Download a deployment bundle

Download the exact bundle and checksum from the GitHub Release page, then verify the archive before unpacking it:

VERSION=v0.1.2
curl -fsSLO "https://github.com/soerennb/version-tracker/releases/download/${VERSION}/versiontracker-deploy-${VERSION}.tar.gz"
curl -fsSLO "https://github.com/soerennb/version-tracker/releases/download/${VERSION}/versiontracker-deploy-${VERSION}.tar.gz.sha256"
sha256sum --check "versiontracker-deploy-${VERSION}.tar.gz.sha256"
tar -xzf "versiontracker-deploy-${VERSION}.tar.gz"cd"versiontracker-deploy-${VERSION}"

Cloning the repository remains supported for contributors, but operators only need this deployment bundle.

Existing reverse proxy or local network

git clone https://github.com/soerennb/version-tracker.git
cd version-tracker
./install.sh install

Choose N for Caddy, then enter the release tag (for example v0.1.2) and the exposed HTTP port. Point your existing reverse proxy at this port and configure TRUSTED_PROXIES in .env.docker with the proxy address.

For unattended installations, provide the selected values explicitly and pipe only the administrator password through standard input:

printf'%s\n''choose-a-long-unique-password'| ./install.sh install \
--version v0.1.2 \
--mode proxy \
--port 8080 \
--admin-name 'Administrator' \
--admin-email admin@example.com \
--admin-password-stdin

Public server with automatic HTTPS

git clone https://github.com/soerennb/version-tracker.git
cd version-tracker
./install.sh install

Choose Y for Caddy, provide a domain whose DNS already points to the server, and provide an ACME email address. Ports 80 and 443 must be free. The installer generates secrets, initializes MariaDB, asks whether to load demo data, and otherwise creates the first administrator interactively.

Updating

./install.sh update

Enter the next release tag. The update preserves the selected proxy mode, pulls the image, runs database migrations, rebuilds Laravel caches, and verifies the health endpoint.

Use ./install.sh status to inspect a deployment and ./install.sh backup before upgrades. The complete self-hosting guide covers configuration, backup, restore, and rollback. Maintainers should follow the release guide when publishing a tag.

License

MIT – see LICENSE.

About

VersionTracker is a Laravel application that centralizes software versions, releases, and security information. The project provides a modern admin panel + frontend with timeline visualization.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages