• v0.0.8 e8cdc8f173

    ric released this 2025-12-03 20:24:24 +00:00 | 10 commits to main since this release

    Highlights

    This release adds directory listings functionality and improves custom domain management with several bug fixes.

    New Features

    Directory Index (Apache-style directory listings)

    • Enable Apache-style directory listings for directories without index.html
    • Configure per-repository with directory_index: true in .pages file
    • Beautiful responsive HTML listing with file names, types, and sizes
    • Color-coded icons for files and folders
    • Parent directory navigation
    • Mobile-responsive design
    • Cached for 60 seconds for optimal performance

    Cache Reaper Script

    • Python script for automated cleanup of stale domain mappings
    • Connects to Redis and validates domain mappings against Forgejo API
    • Dry-run mode for safe testing
    • Designed for cron scheduling (hourly, daily, etc.)
    • Exit codes for monitoring and alerting
    • Full documentation in reaper/ directory

    Custom Domain Conflict Prevention

    • Validates custom domain ownership during registration
    • Prevents domain hijacking by checking existing mappings
    • Allows re-registration for the same repository (updates mappings)

    Bug Fixes

    Reaper Script: Added missing priority key to Traefik router cleanup

    • Now properly deletes all 6 Traefik router configuration keys
    • Prevents orphaned keys from remaining in Redis

    Custom Domain Reverse Mapping: Added persistent reverse mapping cache

    • Caches both forward (custom_domain:domain -> username:repository) and reverse (username:repository -> domain) mappings
    • Prevents custom domain resolution failures when forward mapping expires
    • Both mappings use TTL=0 (persistent storage) for reliability

    Documentation

    • Comprehensive wiki documentation for directory listings feature
    • Enhanced Quick Start guide with Traefik and Docker setup
    • Added Redis/Valkey requirement documentation
    • Architecture diagrams using Mermaid.js
    • Rebranded to "Bovine Pages Server"

    Installation

    Add to your Traefik configuration:

    experimental:
      plugins:
        pages-server:
          moduleName: code.squarecows.com/SquareCows/pages-server
          version: v0.0.8
    

    See the Quick Start Guide for complete setup instructions.

    Full Changelog

    See CHANGELOG.md for complete details.

    Downloads