BrickTracker

BrickTracker

Docker app from grtgbln's Repository

Overview

A web application for organizing and tracking LEGO sets, parts, and minifigures. Uses the Rebrickable API to fetch LEGO data and allows users to track missing pieces and collection status.

Requirements


        Expects an app.db file to exist at the Database Path before container is started. See the README for more information: https://gitea.baerentsen.space/FrederikBaerentsen/BrickTracker#setup-using-pre-build-docker-image
        

        Developer offers way too many configuration options to list all in this template. See all options here: https://gitea.baerentsen.space/FrederikBaerentsen/BrickTracker/src/branch/master/docs/env.md
    

Runtime arguments

Web UI
http://[IP]:[PORT:3333]/
Network
bridge
Privileged
false

Template configuration

Web UI PortPorttcp

Container Port: 3333

Target
3333
Default
3333
Value
3333
Rebrickable API KeyVariable

API key for Rebrickable. Get one at https://rebrickable.com/api/

Target
BK_REBRICKABLE_API_KEY
Domain NameVariable

Domain name for the application. Replace with local IP address or domain name.

Target
BK_DOMAIN_NAME
Default
http://IP_ADDRESS:3333
Value
http://IP_ADDRESS:3333
Parts Storage PathPath

Path to store part images

Target
/app/static/parts
Default
/mnt/user/appdata/brick_tracker/parts
Value
/mnt/user/appdata/brick_tracker/parts
Instructions Storage PathPath

Path to store instruction images

Target
/app/static/instructions
Default
/mnt/user/appdata/brick_tracker/instructions
Value
/mnt/user/appdata/brick_tracker/instructions
Sets Storage PathPath

Path to store set images

Target
/app/static/sets
Default
/mnt/user/appdata/brick_tracker/sets
Value
/mnt/user/appdata/brick_tracker/sets
Minifigures Storage PathPath

Path to store minifigure images

Target
/app/static/minifigures
Default
/mnt/user/appdata/brick_tracker/minifigs
Value
/mnt/user/appdata/brick_tracker/minifigs
Database PathPath

Path to the SQLite database. Run `touch app.db` BEFORE running container for the first time.

Target
data/app.db
Default
/mnt/user/appdata/brick_tracker/app.db
Value
/mnt/user/appdata/brick_tracker/app.db
PasswordVariable

Password for the application. Useful if you want to share the page with other in read-only.

Target
BK_AUTHENTICATION_PASSWORD
Authentication KeyVariable

A unique key used to sign the secrets when using authentication. Remove if not using Password. Use Python command: python3 -c 'import secrets; print(secrets.token_hex())'

Target
BK_AUTHENTICATION_KEY
Display Bricklink LinksVariable

Display Bricklink links wherever applicable

Target
BK_BRICKLINK_LINKS
Default
false|true
Display Rebrickable LinksVariable

Display Rebrickable links wherever applicable

Target
BK_REBRICKABLE_LINKS
Default
false|true
Allowed Upload File TypesVariable

Comma separated list of allowed file types for instructions

Target
BK_INSTRUCTIONS_ALLOWED_EXTENSIONS
Default
.pdf,.docx,.png
Value
.pdf,.docx,.png
Hide 'Add' ButtonVariable

Hide the 'Add' entry from the menu.

Target
BK_HIDE_ADD_SET
Default
false|true
Hide 'Bulk Add' ButtonVariable

Hide the 'Bulk Add' entry from the add page.

Target
BK_HIDE_ADD_BULK_SET
Default
false|true
Hide 'Admin'Variable

Hide the 'Admin' entry from the menu.

Target
BK_HIDE_ADMIN
Default
false|true
Hide 'Instructions'Variable

Hide the 'Instructions' entry from the menu.

Target
BK_HIDE_ALL_INSTRUCTIONS
Default
false|true
Hide 'Instructions' in SetsVariable

Hide the 'Instructions' entry from the Set card.

Target
BK_HIDE_SET_INSTRUCTIONS
Default
false|true
Hide 'Minifigures'Variable

Hide the 'Minifigures' entry from the menu.

Target
BK_HIDE_ALL_MINIFIGURES
Default
false|true
Hide 'Parts'Variable

Hide the 'Parts' entry from the menu.

Target
BK_HIDE_ALL_PARTS
Default
false|true
Hide 'Sets'Variable

Hide the 'Sets' entry from the menu.

Target
BK_HIDE_ALL_SETS
Default
false|true
Hide 'Missing'Variable

Hide the 'Missing' entry from the menu.

Target
BK_HIDE_MISSING_PARTS
Default
false|true
Hide 'Problems'Variable

Hide the 'Problems' entry from the menu.

Target
BK_HIDE_ALL_PROBLEMS_PARTS
Default
false|true
Hide 'Storages'Variable

Hide the 'Storages' entry from the menu.

Target
organizer
Default
false|true
Hide 'Wishlist'Variable

Hide the 'Wishlist' entry from the menu.

Target
BK_HIDE_WISHES
Default
false|true
Hide 'Damaged' ColumnVariable

Hide the 'Damaged' column from the parts table.

Target
BK_HIDE_TABLE_DAMAGED_PARTS
Default
false|true
Hide 'Missing' ColumnVariable

Hide the 'Missing' column from the parts table.

Target
BK_HIDE_TABLE_MISSING_PARTS
Default
false|true
Save Spare PartsVariable

Skip saving or displaying spare parts

Target
BK_SKIP_SPARE_PARTS
Default
false|true
Random HomepageVariable

Shuffle the lists on the front page.

Target
BK_RANDOM
Default
false|true
Show Grid FiltersVariable

Make the grid filters displayed by default, rather than collapsed.

Target
BK_SHOW_GRID_FILTERS
Default
false|true
Show Grid SortVariable

Make the grid sort displayed by default, rather than collapsed.

Target
BK_SHOW_GRID_SORT
Default
false|true
TimezoneVariable

Timezone of the application

Target
BK_TIMEZONE
Default
UTC
Value
UTC
App DataPath

Path to store app data

Target
/app/data
Default
/mnt/user/appdata/brick_tracker/data
Value
/mnt/user/appdata/brick_tracker/data
DebugVariable

Enable debug mode

Target
BK_DEBUG
Default
false|true
Part Link Pattern (BrickLink)Variable

Pattern of the link to Bricklink for a part. Will be passed to Python .format(). Supports {part} and {color} parameters. BrickLink part numbers and color IDs are used when available.

Target
BK_BRICKLINK_LINK_PART_PATTERN
Default
https://www.bricklink.com/v2/catalog/catalogitem.page?P={part}&C={color}
Value
https://www.bricklink.com/v2/catalog/catalogitem.page?P={number}
Part Link PatternVariable

Pattern of the link to Rebrickable for a part. Will be passed to Python .format()

Target
BK_REBRICKABLE_LINK_PART_PATTERN
Default
https://rebrickable.com/parts/{number}/_/{color}
Value
https://rebrickable.com/parts/{number}/_/{color}
Missing Part ImageVariable

Image to display when a part is missing

Target
BK_REBRICKABLE_IMAGE_NIL
Default
https://rebrickable.com/static/img/nil.png
Value
https://rebrickable.com/static/img/nil.png
Minifigure Link PatternVariable

Pattern of the link to Rebrickable for a minifigure. Will be passed to Python .format()

Target
BK_REBRICKABLE_LINK_MINIFIGURE_PATTERN
Default
https://rebrickable.com/minifigs/{number}
Value
https://rebrickable.com/minifigs/{number}
Missing Minifigure ImageVariable

Image to display when a minifigure is missing

Target
BK_REBRICKABLE_IMAGE_NIL_MINIFIGURE
Default
https://rebrickable.com/static/img/nil_mf.jpg
Value
https://rebrickable.com/static/img/nil_mf.jpg
Set Link PatternVariable

Pattern of the link to Rebrickable for a set. Will be passed to Python .format()

Target
BK_REBRICKABLE_LINK_SET_PATTERN
Default
https://rebrickable.com/sets/{number}
Value
https://rebrickable.com/sets/{number}
Themes URLVariable

URL to the themes.csv.gz on Rebrickable

Target
BK_THEMES_FILE_URL
Default
https://cdn.rebrickable.com/media/downloads/themes.csv.gz
Value
https://cdn.rebrickable.com/media/downloads/themes.csv.gz
Use Remote ImagesVariable

Use remote image rather than the locally stored ones. Also prevents downloading any image when adding sets.

Target
BK_USE_REMOTE_IMAGES
Default
false|true
Timestamp FormatVariable

Format of the timestamp added to the database file when downloading it

Target
BK_DATABASE_TIMESTAMP_FORMAT
Default
%Y-%m-%d-%H-%M-%S
Value
%Y-%m-%d-%H-%M-%S
Datetime FormatVariable

Format of the timestamp for files on disk (instructions, themes)

Target
BK_FILE_DATETIME_FORMAT
Default
%d/%m/%Y, %H:%M:%S
Value
%d/%m/%Y, %H:%M:%S
Datetime FormatVariable

Format of the timestamp for purchase dates

Target
BK_PURCHASE_DATE_FORMAT
Default
%d/%m/%Y
Value
%d/%m/%Y
Purchase CurrencyVariable

Currency to use for purchases

Target
BK_PURCHASE_CURRENCY
Default
Value
Per-Page CountVariable

Default number of items per page displayed for big tables

Target
BK_DEFAULT_TABLE_PER_PAGE
Default
25|10|50|100|500|1000
Value
25
HostVariable

Host to bind to

Target
BK_HOST
Default
0.0.0.0
Value
0.0.0.0
PortVariable

Port to bind to

Target
BK_PORT
Default
3333
Value
3333
Disable Socket ThreadingVariable

Disable threading on the task executed by the socket. Useful for debugging.

Target
BK_NO_THREADED_SOCKET
Default
false|true
Socket NameVariable

Namespace of the Socket.IO socket

Target
BK_SOCKET_NAMESPACE
Default
bricksocket
Value
bricksocket
Socket PathVariable

Path of the Socket.IO socket

Target
BK_SOCKET_PATH
Default
/bricksocket/
Value
/bricksocket/
Independent AccordionsVariable

Each accordion can be opened independently

Target
BK_INDEPENDENT_ACCORDIONS
Default
false|true
Rebrickable API Page SizeVariable

The amount of items to retrieve per Rebrickable API call.

Target
BK_REBRICKABLE_PAGE_SIZE
Default
100
Value
100
Rebrickable API User AgentVariable

User agent to use when making requests to Rebrickable. This is used to prevent being rate limited.

Target
BK_REBRICKABLE_USER_AGENT
Default
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
Value
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
Minifigure OrderVariable

Change the default order of minifigures.

Target
BK_MINIFIGURES_DEFAULT_ORDER
Default
rebrickable_minifigures name ASC
Value
rebrickable_minifigures name ASC
Parts OrderVariable

Change the default order of parts.

Target
BK_PARTS_DEFAULT_ORDER
Default
rebrickable_parts.name ASC, rebrickable_parts.color_name ASC, bricktracker_parts.spare ASC
Value
rebrickable_parts.name ASC, rebrickable_parts.color_name ASC, bricktracker_parts.spare ASC
Sets OrderVariable

Change the default order of sets.

Target
BK_SETS_DEFAULT_ORDER
Default
rebrickable_sets.year ASC
Value
rebrickable_sets.year ASC
Wishlist OrderVariable

Change the default order of wishlist.

Target
BK_WISHES_DEFAULT_ORDER
Default
bricktracker_wishes.set DESC
Value
bricktracker_wishes.set DESC
Purchase Location OrderVariable

Change the default order of purchase locations.

Target
BK_PURCHASE_LOCATION_DEFAULT_ORDER
Default
bricktracker_metadata_purchase_locations.name ASC
Value
bricktracker_metadata_purchase_locations.name ASC
Storage OrderVariable

Change the default order of storages

Target
BK_STORAGE_DEFAULT_ORDER
Default
bricktracker_metadata_storages.name ASC
Value
bricktracker_metadata_storages.name ASC
Retired Sets ListVariable

URL to the unofficial retired sets list on Google Sheets

Target
BK_RETIRED_SETS_FILE_URL
Default
https://docs.google.com/spreadsheets/d/1rlYfEXtNKxUOZt2Mfv0H17DvK7bj6Pe0CuYwq6ay8WA/gviz/tq?tqx=out:csv&sheet=Sorted%20by%20Retirement%20Date
Value
https://docs.google.com/spreadsheets/d/1rlYfEXtNKxUOZt2Mfv0H17DvK7bj6Pe0CuYwq6ay8WA/gviz/tq?tqx=out:csv&sheet=Sorted%20by%20Retirement%20Date
Internal Database PathVariable

Path to the SQLite database inside the container. Not recommended to change.

Target
BK_DATABASE_PATH
Default
data/app.db
Value
data/app.db
Internal Minifigures PathVariable

Name of the minifigures folder inside the container. Not recommended to change.

Target
BK_MINIFIGURES_FOLDER
Default
minifigures
Value
minifigures
Internal Instructions PathVariable

Name of the instructions folder inside the container. Not recommended to change.

Target
BK_INSTRUCTIONS_FOLDER
Default
instructions
Value
instructions
Internal Parts PathVariable

Name of the parts folder inside the container. Not recommended to change.

Target
BK_PARTS_FOLDER
Default
parts
Value
parts
Internal Sets PathVariable

Name of the sets folder inside the container. Not recommended to change.

Target
BK_SETS_FOLDER
Default
sets
Value
sets
Internal Retired Sets PathVariable

Path to the retired sets CSV file inside the container. Not recommended to change.

Target
BK_RETIRED_SETS_PATH
Default
data/retired_sets.csv
Value
data/retired_sets.csv
Internal Themes PathVariable

Path to the themes CSV file inside the container. Not recommended to change.

Target
BK_THEMES_PATH
Default
data/themes.csv
Value
data/themes.csv

Details

Repository
gitea.baerentsen.space/frederikbaerentsen/bricktracker:latest
Last Updated2026-06-02
First Seen2024-12-27

Run BrickTracker on Unraid.

BrickTracker is listed in Community Apps for Unraid OS. Explore Unraid to build a flexible home server, NAS, or homelab.