• FrederikBaerentsen released this 2025-02-06 20:32:43 +01:00 | 6 commits to master since this release

    BrickTracker 1.2.0

    BrickTracker version 1.2.0 introduces better metadata support, improved part management, and enhanced UI controls. This release focuses on better organization through new storage features, purchase tracking, and ownership management.


    How to Update

    Assuming you are using Docker Compose to run BrickTracker, the update process depends on how you've configured your image tag.

    Using latest tag

    If your compose.yaml contains image: gitea.baerentsen.space/frederikbaerentsen/bricktracker::latest, update with:

    # Pull the new version
    docker compose pull
    
    # Restart the container with the new image
    docker compose down
    docker compose up -d
    

    Using version tag

    If your compose.yaml specifies a version like image: gitea.baerentsen.space/frederikbaerentsen/bricktracker::1.1.1:

    1. Edit your compose.yaml and change the version to 1.2.0
    2. Run the following commands:
      # Pull the new version
      docker compose pull
      
      # Restart the container with the new image
      docker compose down
      docker compose up -d
      

    After updating, you'll be prompted to upgrade the database as described in the Database Upgrade section below.

    Database Upgrade Required

    On first launch, you'll need to upgrade the database:

    1. Click "Administration" when prompted
    2. Click "Upgrade the database"
    3. Download a backup of your database (strongly recommended)
    4. Click "Upgrade the Database" to complete the process

    Your database version should now be at version 15 (location may vary based on your settings):


    Major Features

    Important Notes

    ⚠️ The "Missing" feature has been renamed to "Problems" to accommodate both missing and damaged parts. Related environment variables have been updated accordingly.

    Metadata System

    It is now possible to add additional information to each set:

    • Set ownership tracking
    • Purchase information (date, price, location)
    • Storage location management
    • Custom tags support

    Values can be changed on the admin page:

    Enhanced Parts Management

    • Color information and transparency details
    • Part relationships (prints, base parts)
    • Damaged parts tracking
    • Improved part visualization
    • Minifigure part count calculation

    Show/hide missing and damaged parts can be controlled using environment variables.

    Set Management

    • New data refresh system for Rebrickable integration
    • Enhanced wishlist management with set requesters
      • Track who requested each set using the Details button
      • Requesters can be selected from the available owners list
    • Option to hide instructions
    • Improved bulk operations

    Note


    In version 1.2.0, BrickTracker expands the data it stores from Rebrickable's API. Previously, it only saved essential information, but now it stores more data including part colors and relationships.
    Sets from earlier versions need their data refreshed to access these new features. A new admin section shows which sets require updating.

    Important:

    • Updates use Rebrickable API calls
    • Update sets gradually to avoid API rate limits
    • After refresh, you'll see enhanced part details like colors and relationships

    The refresh process populates all the new data fields, enabling features like color-coded part listings and print relationships in your set details.

    UI Improvements

    • Clear search functionality
    • Enhanced form interactions and error handling

    Environment Variables

    Note


    For a complete list of environment variables and their usage, see variables overview.

    New Variables

    • BK_HIDE_TABLE_MISSING_PARTS: Hide Missing column
    • BK_HIDE_TABLE_DAMAGED_PARTS: Hide Damaged column
    • BK_SHOW_GRID_SORT: Show sort options by default
    • BK_SHOW_GRID_FILTERS: Show filter options by default
    • BK_HIDE_ALL_STORAGES: Hide Storages menu
    • BK_STORAGE_DEFAULT_ORDER: Storage ordering
    • BK_PURCHASE_LOCATION_DEFAULT_ORDER: Purchase location ordering
    • BK_PURCHASE_CURRENCY: Purchase price currency
    • BK_PURCHASE_DATE_FORMAT: Purchase date format

    Renamed Variables

    • BK_HIDE_MISSING_PARTSBK_HIDE_ALL_PROBLEMS_PARTS

    See Changelog for more information.

    Downloads
  • FrederikBaerentsen released this 2025-01-27 19:35:36 +01:00 | 165 commits to master since this release

    We are excited to announce version 1.1.1, which introduces a requested feature to download PDF instructions directly from Rebrickable. This update adds new functionality to both the instructions and set pages.

    New Features

    • PDF Instructions Download:
      • You can now easily download PDF instructions for your sets directly from Rebrickable.
      • A new Download instructions from Rebrickable button has been added to both the Instructions Page and the Set Page.
      • A list of available instructions will be displayed, and you can select which ones to download.
      • Please note that sets older than 20 years may not have available instructions for download.

    Docker Update

    • Docker Update:
      • When using Docker, ensure you are pulling the image with the 1.1.1 or latest tag for the new release.
    Downloads
  • FrederikBaerentsen released this 2025-01-24 19:29:33 +01:00 | 185 commits to master since this release

    BrickTracker has made it to version 1.1.0, which is packed with improvements to deduplicate sets, enable custom checkboxes, and streamline database management. This update includes significant changes across the database, code, UI, and documentation to make the platform more robust and user-friendly.


    Major Changes

    ⚠️ Important: After updating to the latest version, the application will display a splash screen indicating a database error and prompting an update. This behavior is expected and part of the upgrade process.

    1. On the splash screen, click "Administration."

    2. Next, click "Upgrade the Database."

    3. Before proceeding, it is strongly recommended to download a backup of the database to ensure your data is safe in case of any migration issues.

    4. Finally, press "Upgrade the Database" to complete the process.

    Following these steps will ensure a smooth transition to the updated database structure.

    Highlights

    Database

    • Set Deduplication:
      • Rebrickable sets are now unique in the database.
      • Multiple BrickTracker sets can now map to a single Rebrickable set.
    • Upgrade/Migration Tool: A smoother process for forward-only database migrations with checks for outdated versions.

    Docs

    • Removed unnecessary <br> tags for better Gitea Markdown compatibility.
    • Added a comprehensive DOCS.md for easier navigation and setup guidance.
    • Documented database upgrades and checkbox management.

    Code Updates

    This release introduces tighter, more efficient code with enhancements like customizable checkboxes, unified update routes, and deduplicated set handling. We’ve also improved SQL practices, streamlined database migrations, and refined the admin views for better maintainability. Key workflows and record processes have been consolidated, while stricter Python function definitions ensure robustness.


    UI Enhancements

    Checkboxes

    • Toggle visibility of checkboxes in the grid while keeping them accessible in set details.
    • Full management support for custom checkboxes.

    Set Grid

    • New filters to search by selected or unselected checkboxes.

    Wishlist

    • Added a Rebrickable link badge for sets (thanks @matthew!).

    Database

    • Integrated migration tools into the UI for seamless upgrades.

    Tables

    • Fixed table searches to properly index content inside link pills.

    This release represents a significant step forward in performance, flexibility, and usability. Thank you to @gregoo's amazing work!

    Downloads
  • FrederikBaerentsen released this 2025-01-19 09:47:15 +01:00 | 242 commits to master since this release

    BrickTracker v1.0.0 Release Notes

    Major Changes

    BrickTracker has undergone a complete rewrite (thanks for gregoo) with significant improvements to both functionality and design. You can preview the new interface in the documentation.

    ⚠️ Important: This update includes changes to the application structure and configuration. Please follow the migration steps carefully to ensure your data remains intact.

    Environment Configuration

    You can configure environment variables in two ways:

    1. In the compose.yaml file under the environment section
    2. In a separate .env file referenced by env_file

    Choose the method that best suits your deployment needs. All variables can be used in either location.

    Migration Guide

    Option 1: Local Installation (Git + Docker Build)

    For users who installed via git clone and use build: . in their Docker configuration:

    1. Update the repository:

      cd BrickTracker
      git pull
      
    2. Restructure your static directories:

      mv static/instructions .
      mv static/sets .
      mv static/parts .
      mv static/minifigs .
      
    3. Create data directory:

      mkdir data
      mv app.db data/
      
    4. Replace your compose.yaml with:

      services:
        bricktracker:
          container_name: BrickTracker
          restart: unless-stopped
          build: .
          ports:
            - "3333:3333"
          volumes:
            - ./data:/data/
            - ./instructions:/app/static/instructions/
            - ./minifigures:/app/static/minifigures/
            - ./parts:/app/static/parts/
            - ./sets:/app/static/sets/
          environment:
            BK_DATABASE_PATH: /data/app.db
            BK_RETIRED_SETS_PATH: /data/retired_sets.csv
            BK_THEMES_PATH: /data/themes.csv
          env_file: ".env"
      

      Note: You can move any environment variables from the .env file to the environment section above, or vice versa.

    5. Update environment configuration:

      mv .env .env.backup
      mv .env.sample .env
      

      Then edit .env to include your API key and any desired customizations.

      Note: Make sure BK_RETIRED_SETS_PATH and BK_THEMES_PATH are set correctly to match your volume mappings.

    6. Rebuild and restart:

      docker compose build
      docker compose up -d
      

    Option 2: Pre-built Docker Image

    For users who prefer using the pre-built Docker image:

    1. Create data directory:

      mkdir data
      mv app.db data/
      
    2. Update your compose.yaml:

      services:
        bricktracker:
          container_name: BrickTracker
          restart: unless-stopped
          image: gitea.baerentsen.space/frederikbaerentsen/bricktracker:1.0.0
          ports:
            - "3333:3333"
          volumes:
            - ./parts:/app/static/parts
            - ./instructions:/app/static/instructions
            - ./minifigs:/app/static/minifigs
            - ./sets:/app/static/sets
            - ./data:/data/
          env_file: ".env"
      

      Note: You can add an environment section to specify variables directly in the compose file instead of using .env.

    3. Configure environment:
      Either download the sample configuration:

      wget -O .env https://gitea.baerentsen.space/FrederikBaerentsen/BrickTracker/raw/branch/master/.env.sample
      

      Or update your existing .env with these required fields:

      BK_REBRICKABLE_API_KEY=<your_api_key>
      BK_DOMAIN_NAME=http://localhost:3331
      BK_DATABASE_PATH=/data/app.db
      BK_RETIRED_SETS_PATH=/data/retired_sets.csv
      BK_THEMES_PATH=/data/themes.csv
      
    4. Deploy:

      docker compose pull
      docker compose up -d
      

    Post-Installation Steps

    1. Access BrickTracker at http://localhost:3333
    2. Visit http://localhost:3333/admin
    3. Update default images, themes, and retired sets using the provided buttons

    Additional Notes

    • The new .env file includes numerous customization options. Review it thoroughly to optimize your setup.
    • Ensure all volume mappings in your compose.yaml are correct before starting the container.
    • Back up your data before performing the migration.
    • Environment variables can be configured either in the compose.yaml file or in the .env file, providing flexibility in how you manage your configuration.
    Downloads