Error Adding New Set #132

Closed
opened 2026-01-18 15:33:56 +01:00 by deadbattery · 5 comments

I'm so frustrated with myself mostly for not being able to figure this out, but after the last update, I'm having an issue trying to add sets. I ended up deleted everything and starting fresh and I still cannot figure out what I am doing wrong. I am getting the following error when trying to add sets, no matter what set I try to add:

Error: Error while importing set 10311-1: [Errno 2] No such file or directory: '/app/sets/10311-1.jpg'

I am running BrickTracker on Unraid. I was able to overcome all of my issues prior to the current version but I think I am at the point where I need help.

Here is the command execution upon editing all of the available variables:

docker run
  -d
  --name='BrickTracker'
  --net='bridge'
  --pids-limit 2048
  -e TZ="America/New_York"
  -e HOST_OS="Unraid"
  -e HOST_HOSTNAME="Tower"
  -e HOST_CONTAINERNAME="BrickTracker"
  -e 'BK_REBRICKABLE_API_KEY'='KEY_IS_HIDDEN'
  -e 'BK_DOMAIN_NAME'='DOMAIN_IS_HIDDEN'
  -e 'BK_AUTHENTICATION_PASSWORD'=''
  -e 'BK_BRICKLINK_LINKS'='false'
  -e 'BK_REBRICKABLE_LINKS'='false'
  -e 'BK_INSTRUCTIONS_ALLOWED_EXTENSIONS'='.pdf,.docx,.png'
  -e 'BK_HIDE_ADD_SET'='false'
  -e 'BK_HIDE_ADD_BULK_SET'='false'
  -e 'BK_HIDE_ADMIN'='false'
  -e 'BK_HIDE_ALL_INSTRUCTIONS'='false'
  -e 'BK_HIDE_SET_INSTRUCTIONS'='false'
  -e 'BK_HIDE_ALL_MINIFIGURES'='false'
  -e 'BK_HIDE_ALL_PARTS'='false'
  -e 'BK_HIDE_ALL_SETS'='false'
  -e 'BK_HIDE_MISSING_PARTS'='false'
  -e 'BK_HIDE_ALL_PROBLEMS_PARTS'='false'
  -e 'organizer'='false'
  -e 'BK_HIDE_WISHES'='false'
  -e 'BK_HIDE_TABLE_DAMAGED_PARTS'='false'
  -e 'BK_HIDE_TABLE_MISSING_PARTS'='false'
  -e 'BK_SKIP_SPARE_PARTS'='false'
  -e 'BK_RANDOM'='false'
  -e 'BK_SHOW_GRID_FILTERS'='false'
  -e 'BK_SHOW_GRID_SORT'='false'
  -e 'BK_TIMEZONE'='America/New_York'
  -e 'BK_DEBUG'='false'
  -e 'BK_BRICKLINK_LINK_PART_PATTERN'='https://www.bricklink.com/v2/catalog/catalogitem.page?P={number}'
  -e 'BK_REBRICKABLE_LINK_PART_PATTERN'='https://rebrickable.com/parts/{number}/_/{color}'
  -e 'BK_REBRICKABLE_IMAGE_NIL'='https://rebrickable.com/static/img/nil.png'
  -e 'BK_REBRICKABLE_LINK_MINIFIGURE_PATTERN'='https://rebrickable.com/minifigs/{number}'
  -e 'BK_REBRICKABLE_IMAGE_NIL_MINIFIGURE'='https://rebrickable.com/static/img/nil_mf.jpg'
  -e 'BK_REBRICKABLE_LINK_SET_PATTERN'='https://rebrickable.com/sets/{number}'
  -e 'BK_THEMES_FILE_URL'='https://cdn.rebrickable.com/media/downloads/themes.csv.gz'
  -e 'BK_USE_REMOTE_IMAGES'='false'
  -e 'BK_DATABASE_TIMESTAMP_FORMAT'='%Y-%m-%d-%H-%M-%S'
  -e 'BK_FILE_DATETIME_FORMAT'='%d/%m/%Y, %H:%M:%S'
  -e 'BK_PURCHASE_DATE_FORMAT'='%d/%m/%Y'
  -e 'BK_PURCHASE_CURRENCY'='€'
  -e 'BK_DEFAULT_TABLE_PER_PAGE'='25'
  -e 'BK_HOST'='0.0.0.0'
  -e 'BK_PORT'='3333'
  -e 'BK_NO_THREADED_SOCKET'='false'
  -e 'BK_SOCKET_NAMESPACE'='bricksocket'
  -e 'BK_SOCKET_PATH'='/bricksocket/'
  -e 'BK_INDEPENDENT_ACCORDIONS'='false'
  -e 'BK_REBRICKABLE_PAGE_SIZE'='100'
  -e 'BK_REBRICKABLE_USER_AGENT'=''\''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'\'''
  -e 'BK_MINIFIGURES_DEFAULT_ORDER'='rebrickable_minifigures name ASC'
  -e 'BK_PARTS_DEFAULT_ORDER'='rebrickable_parts.name ASC, rebrickable_parts.color_name ASC, bricktracker_parts.spare ASC'
  -e 'BK_SETS_DEFAULT_ORDER'='rebrickable_sets.year ASC'
  -e 'BK_WISHES_DEFAULT_ORDER'='bricktracker_wishes.set DESC'
  -e 'BK_PURCHASE_LOCATION_DEFAULT_ORDER'='bricktracker_metadata_purchase_locations.name ASC'
  -e 'BK_STORAGE_DEFAULT_ORDER'='bricktracker_metadata_storages.name ASC'
  -e 'BK_RETIRED_SETS_FILE_URL'='https://docs.google.com/spreadsheets/d/1rlYfEXtNKxUOZt2Mfv0H17DvK7bj6Pe0CuYwq6ay8WA/gviz/tq?tqx=out:csv&sheet=Sorted%20by%20Retirement%20Date'
  -e 'BK_DATABASE_PATH'='/data/app.db'
  -e 'BK_MINIFIGURES_FOLDER'='minifigures'
  -e 'BK_INSTRUCTIONS_FOLDER'='instructions'
  -e 'BK_PARTS_FOLDER'='parts'
  -e 'BK_SETS_FOLDER'='sets'
  -e 'BK_RETIRED_SETS_PATH'='/data/retired_sets.csv'
  -e 'BK_THEMES_PATH'='/data/themes.csv'
  -l net.unraid.docker.managed=dockerman
  -l net.unraid.docker.webui='http://[IP]:[PORT:3333]/'
  -l net.unraid.docker.icon='https://raw.githubusercontent.com/nwithan8/unraid_templates/master/images/brick-tracker-icon.png'
  -p '3333:3333/tcp'
  -v '/mnt/user/data/bricktracker/parts/':'/app/static/parts':'rw'
  -v '/mnt/user/data/bricktracker/instructions/':'/app/static/instructions':'rw'
  -v '/mnt/user/data/bricktracker/sets/':'/app/static/sets':'rw'
  -v '/mnt/user/data/bricktracker/minifigures/':'/app/static/minifigures':'rw'
  -v '/mnt/user/data/bricktracker/app.db':'/data/app.db':'rw'
  -v '/mnt/user/data/bricktracker/':'/data':'rw' 'gitea.baerentsen.space/frederikbaerentsen/bricktracker:latest'
1c2bec53ccaf6eaa662e8e4cfd6e0806771d112752b1c8c42455ed6d7ec367e4

The command finished successfully!
I'm so frustrated with myself mostly for not being able to figure this out, but after the last update, I'm having an issue trying to add sets. I ended up deleted everything and starting fresh and I still cannot figure out what I am doing wrong. I am getting the following error when trying to add sets, no matter what set I try to add: **`Error: Error while importing set 10311-1: [Errno 2] No such file or directory: '/app/sets/10311-1.jpg'`** I am running BrickTracker on Unraid. I was able to overcome all of my issues prior to the current version but I think I am at the point where I need help. Here is the command execution upon editing all of the available variables: ``` docker run -d --name='BrickTracker' --net='bridge' --pids-limit 2048 -e TZ="America/New_York" -e HOST_OS="Unraid" -e HOST_HOSTNAME="Tower" -e HOST_CONTAINERNAME="BrickTracker" -e 'BK_REBRICKABLE_API_KEY'='KEY_IS_HIDDEN' -e 'BK_DOMAIN_NAME'='DOMAIN_IS_HIDDEN' -e 'BK_AUTHENTICATION_PASSWORD'='' -e 'BK_BRICKLINK_LINKS'='false' -e 'BK_REBRICKABLE_LINKS'='false' -e 'BK_INSTRUCTIONS_ALLOWED_EXTENSIONS'='.pdf,.docx,.png' -e 'BK_HIDE_ADD_SET'='false' -e 'BK_HIDE_ADD_BULK_SET'='false' -e 'BK_HIDE_ADMIN'='false' -e 'BK_HIDE_ALL_INSTRUCTIONS'='false' -e 'BK_HIDE_SET_INSTRUCTIONS'='false' -e 'BK_HIDE_ALL_MINIFIGURES'='false' -e 'BK_HIDE_ALL_PARTS'='false' -e 'BK_HIDE_ALL_SETS'='false' -e 'BK_HIDE_MISSING_PARTS'='false' -e 'BK_HIDE_ALL_PROBLEMS_PARTS'='false' -e 'organizer'='false' -e 'BK_HIDE_WISHES'='false' -e 'BK_HIDE_TABLE_DAMAGED_PARTS'='false' -e 'BK_HIDE_TABLE_MISSING_PARTS'='false' -e 'BK_SKIP_SPARE_PARTS'='false' -e 'BK_RANDOM'='false' -e 'BK_SHOW_GRID_FILTERS'='false' -e 'BK_SHOW_GRID_SORT'='false' -e 'BK_TIMEZONE'='America/New_York' -e 'BK_DEBUG'='false' -e 'BK_BRICKLINK_LINK_PART_PATTERN'='https://www.bricklink.com/v2/catalog/catalogitem.page?P={number}' -e 'BK_REBRICKABLE_LINK_PART_PATTERN'='https://rebrickable.com/parts/{number}/_/{color}' -e 'BK_REBRICKABLE_IMAGE_NIL'='https://rebrickable.com/static/img/nil.png' -e 'BK_REBRICKABLE_LINK_MINIFIGURE_PATTERN'='https://rebrickable.com/minifigs/{number}' -e 'BK_REBRICKABLE_IMAGE_NIL_MINIFIGURE'='https://rebrickable.com/static/img/nil_mf.jpg' -e 'BK_REBRICKABLE_LINK_SET_PATTERN'='https://rebrickable.com/sets/{number}' -e 'BK_THEMES_FILE_URL'='https://cdn.rebrickable.com/media/downloads/themes.csv.gz' -e 'BK_USE_REMOTE_IMAGES'='false' -e 'BK_DATABASE_TIMESTAMP_FORMAT'='%Y-%m-%d-%H-%M-%S' -e 'BK_FILE_DATETIME_FORMAT'='%d/%m/%Y, %H:%M:%S' -e 'BK_PURCHASE_DATE_FORMAT'='%d/%m/%Y' -e 'BK_PURCHASE_CURRENCY'='€' -e 'BK_DEFAULT_TABLE_PER_PAGE'='25' -e 'BK_HOST'='0.0.0.0' -e 'BK_PORT'='3333' -e 'BK_NO_THREADED_SOCKET'='false' -e 'BK_SOCKET_NAMESPACE'='bricksocket' -e 'BK_SOCKET_PATH'='/bricksocket/' -e 'BK_INDEPENDENT_ACCORDIONS'='false' -e 'BK_REBRICKABLE_PAGE_SIZE'='100' -e 'BK_REBRICKABLE_USER_AGENT'=''\''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'\''' -e 'BK_MINIFIGURES_DEFAULT_ORDER'='rebrickable_minifigures name ASC' -e 'BK_PARTS_DEFAULT_ORDER'='rebrickable_parts.name ASC, rebrickable_parts.color_name ASC, bricktracker_parts.spare ASC' -e 'BK_SETS_DEFAULT_ORDER'='rebrickable_sets.year ASC' -e 'BK_WISHES_DEFAULT_ORDER'='bricktracker_wishes.set DESC' -e 'BK_PURCHASE_LOCATION_DEFAULT_ORDER'='bricktracker_metadata_purchase_locations.name ASC' -e 'BK_STORAGE_DEFAULT_ORDER'='bricktracker_metadata_storages.name ASC' -e 'BK_RETIRED_SETS_FILE_URL'='https://docs.google.com/spreadsheets/d/1rlYfEXtNKxUOZt2Mfv0H17DvK7bj6Pe0CuYwq6ay8WA/gviz/tq?tqx=out:csv&sheet=Sorted%20by%20Retirement%20Date' -e 'BK_DATABASE_PATH'='/data/app.db' -e 'BK_MINIFIGURES_FOLDER'='minifigures' -e 'BK_INSTRUCTIONS_FOLDER'='instructions' -e 'BK_PARTS_FOLDER'='parts' -e 'BK_SETS_FOLDER'='sets' -e 'BK_RETIRED_SETS_PATH'='/data/retired_sets.csv' -e 'BK_THEMES_PATH'='/data/themes.csv' -l net.unraid.docker.managed=dockerman -l net.unraid.docker.webui='http://[IP]:[PORT:3333]/' -l net.unraid.docker.icon='https://raw.githubusercontent.com/nwithan8/unraid_templates/master/images/brick-tracker-icon.png' -p '3333:3333/tcp' -v '/mnt/user/data/bricktracker/parts/':'/app/static/parts':'rw' -v '/mnt/user/data/bricktracker/instructions/':'/app/static/instructions':'rw' -v '/mnt/user/data/bricktracker/sets/':'/app/static/sets':'rw' -v '/mnt/user/data/bricktracker/minifigures/':'/app/static/minifigures':'rw' -v '/mnt/user/data/bricktracker/app.db':'/data/app.db':'rw' -v '/mnt/user/data/bricktracker/':'/data':'rw' 'gitea.baerentsen.space/frederikbaerentsen/bricktracker:latest' 1c2bec53ccaf6eaa662e8e4cfd6e0806771d112752b1c8c42455ed6d7ec367e4 The command finished successfully! ```
Owner

I see the issue, this is related to breaking changes made in v1.3 where the default folder paths were consolidated.

Version 1.3 consolidated all user data into a single data/ folder.

  • OLD (v1.2 and earlier): static/sets/', static/parts/`, etc.
  • NEW (v1.3+): data/sets/, data/parts/, etc.

This was done to consolidate all user data (database, images, instructions, CSVs) into one folder for consistent backups.

Your Docker volumes are mounted to /app/static/* (the old v1.2 paths):

-v '/mnt/user/data/bricktracker/sets/':'/app/static/sets':'rw'

But your BK_SETS_FOLDER environment variable is set to just sets (a relative path), which BrickTracker v1.3+ interprets as /app/data/sets/ (the new default) - hence the "No such file or directory" error.

Option 1: Update Environment Variables

Keep your existing volume mounts but tell BrickTracker to use the old paths:

BK_MINIFIGURES_FOLDER=/app/static/minifigures
BK_INSTRUCTIONS_FOLDER=/app/static/instructions
BK_PARTS_FOLDER=/app/static/parts
BK_SETS_FOLDER=/app/static/sets
BK_DATABASE_PATH=/data/app.db

These need to match your volume mount points inside the container.

Option 2: Migrate to New Structure (Recommended)

Follow the migration guide to update your volume mounts to the new data/ structure. This gives you a single volume for all data.

The migration guide explains both approaches and helps you choose which is best for your setup. This should resolve your issue!

I see the issue, this is related to breaking changes made in v1.3 where the default folder paths were consolidated. Version 1.3 consolidated all user data into a single `data/` folder. - OLD (v1.2 and earlier): `static/sets/', `static/parts/`, etc. - NEW (v1.3+): `data/sets/`, `data/parts/`, etc. This was done to consolidate all user data (database, images, instructions, CSVs) into one folder for consistent backups. Your Docker volumes are mounted to `/app/static/*` (the old v1.2 paths): ``` -v '/mnt/user/data/bricktracker/sets/':'/app/static/sets':'rw' ``` But your `BK_SETS_FOLDER` environment variable is set to just `sets` (a relative path), which BrickTracker v1.3+ interprets as `/app/data/sets/` (the new default) - hence the "No such file or directory" error. ## Option 1: Update Environment Variables Keep your existing volume mounts but tell BrickTracker to use the old paths: ``` BK_MINIFIGURES_FOLDER=/app/static/minifigures BK_INSTRUCTIONS_FOLDER=/app/static/instructions BK_PARTS_FOLDER=/app/static/parts BK_SETS_FOLDER=/app/static/sets BK_DATABASE_PATH=/data/app.db ``` These need to match your volume mount points inside the container. ## Option 2: Migrate to New Structure (Recommended) Follow the migration guide to update your volume mounts to the new `data/` structure. This gives you a single volume for all data. [The migration guide](https://bricktracker.baerentsen.space/migration_guide.html) explains both approaches and helps you choose which is best for your setup. This should resolve your issue!
FrederikBaerentsen added the Unraid label 2026-01-18 16:32:13 +01:00
Author

I don't see any references to 'static' in the configuration after a few tweaks.

docker run
  -d
  --name='BrickTracker'
  --net='bridge'
  --pids-limit 2048
  -e TZ="America/New_York"
  -e HOST_OS="Unraid"
  -e HOST_HOSTNAME="Tower"
  -e HOST_CONTAINERNAME="BrickTracker"
  -e 'BK_REBRICKABLE_API_KEY'='HIDDEN
  -e 'BK_DOMAIN_NAME'='HIDDEN'
  -e 'BK_AUTHENTICATION_PASSWORD'=''
  -e 'BK_BRICKLINK_LINKS'='false'
  -e 'BK_REBRICKABLE_LINKS'='false'
  -e 'BK_INSTRUCTIONS_ALLOWED_EXTENSIONS'='.pdf,.docx,.png'
  -e 'BK_HIDE_ADD_SET'='false'
  -e 'BK_HIDE_ADD_BULK_SET'='false'
  -e 'BK_HIDE_ADMIN'='false'
  -e 'BK_HIDE_ALL_INSTRUCTIONS'='false'
  -e 'BK_HIDE_SET_INSTRUCTIONS'='false'
  -e 'BK_HIDE_ALL_MINIFIGURES'='false'
  -e 'BK_HIDE_ALL_PARTS'='false'
  -e 'BK_HIDE_ALL_SETS'='false'
  -e 'BK_HIDE_MISSING_PARTS'='false'
  -e 'BK_HIDE_ALL_PROBLEMS_PARTS'='false'
  -e 'organizer'='false'
  -e 'BK_HIDE_WISHES'='false'
  -e 'BK_HIDE_TABLE_DAMAGED_PARTS'='false'
  -e 'BK_HIDE_TABLE_MISSING_PARTS'='false'
  -e 'BK_SKIP_SPARE_PARTS'='false'
  -e 'BK_RANDOM'='false'
  -e 'BK_SHOW_GRID_FILTERS'='false'
  -e 'BK_SHOW_GRID_SORT'='false'
  -e 'BK_TIMEZONE'='America/New_York'
  -e 'BK_DEBUG'='false'
  -e 'BK_BRICKLINK_LINK_PART_PATTERN'='https://www.bricklink.com/v2/catalog/catalogitem.page?P={number}'
  -e 'BK_REBRICKABLE_LINK_PART_PATTERN'='https://rebrickable.com/parts/{number}/_/{color}'
  -e 'BK_REBRICKABLE_IMAGE_NIL'='https://rebrickable.com/static/img/nil.png'
  -e 'BK_REBRICKABLE_LINK_MINIFIGURE_PATTERN'='https://rebrickable.com/minifigs/{number}'
  -e 'BK_REBRICKABLE_IMAGE_NIL_MINIFIGURE'='https://rebrickable.com/static/img/nil_mf.jpg'
  -e 'BK_REBRICKABLE_LINK_SET_PATTERN'='https://rebrickable.com/sets/{number}'
  -e 'BK_THEMES_FILE_URL'='https://cdn.rebrickable.com/media/downloads/themes.csv.gz'
  -e 'BK_USE_REMOTE_IMAGES'='false'
  -e 'BK_DATABASE_TIMESTAMP_FORMAT'='%Y-%m-%d-%H-%M-%S'
  -e 'BK_FILE_DATETIME_FORMAT'='%d/%m/%Y, %H:%M:%S'
  -e 'BK_PURCHASE_DATE_FORMAT'='%d/%m/%Y'
  -e 'BK_PURCHASE_CURRENCY'='€'
  -e 'BK_DEFAULT_TABLE_PER_PAGE'='25'
  -e 'BK_HOST'='0.0.0.0'
  -e 'BK_PORT'='3333'
  -e 'BK_NO_THREADED_SOCKET'='false'
  -e 'BK_SOCKET_NAMESPACE'='bricksocket'
  -e 'BK_SOCKET_PATH'='/bricksocket/'
  -e 'BK_INDEPENDENT_ACCORDIONS'='false'
  -e 'BK_REBRICKABLE_PAGE_SIZE'='100'
  -e 'BK_REBRICKABLE_USER_AGENT'=''\''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'\'''
  -e 'BK_MINIFIGURES_DEFAULT_ORDER'='rebrickable_minifigures name ASC'
  -e 'BK_PARTS_DEFAULT_ORDER'='rebrickable_parts.name ASC, rebrickable_parts.color_name ASC, bricktracker_parts.spare ASC'
  -e 'BK_SETS_DEFAULT_ORDER'='rebrickable_sets.year ASC'
  -e 'BK_WISHES_DEFAULT_ORDER'='bricktracker_wishes.set DESC'
  -e 'BK_PURCHASE_LOCATION_DEFAULT_ORDER'='bricktracker_metadata_purchase_locations.name ASC'
  -e 'BK_STORAGE_DEFAULT_ORDER'='bricktracker_metadata_storages.name ASC'
  -e 'BK_RETIRED_SETS_FILE_URL'='https://docs.google.com/spreadsheets/d/1rlYfEXtNKxUOZt2Mfv0H17DvK7bj6Pe0CuYwq6ay8WA/gviz/tq?tqx=out:csv&sheet=Sorted%20by%20Retirement%20Date'
  -e 'BK_DATABASE_PATH'='/data/app.db'
  -e 'BK_MINIFIGURES_FOLDER'='minifigures'
  -e 'BK_INSTRUCTIONS_FOLDER'='instructions'
  -e 'BK_PARTS_FOLDER'='parts'
  -e 'BK_SETS_FOLDER'='sets'
  -e 'BK_RETIRED_SETS_PATH'='/data/retired_sets.csv'
  -e 'BK_THEMES_PATH'='/data/themes.csv'
  -l net.unraid.docker.managed=dockerman
  -l net.unraid.docker.webui='http://[IP]:[PORT:3333]/'
  -l net.unraid.docker.icon='https://raw.githubusercontent.com/nwithan8/unraid_templates/master/images/brick-tracker-icon.png'
  -p '3333:3333/tcp'
  -v '/mnt/user/data/bricktracker/parts/':'/data/parts':'rw'
  -v '/mnt/user/data/bricktracker/instructions/':'/data/instructions':'rw'
  -v '/mnt/user/data/bricktracker/sets/':'/data/sets':'rw'
  -v '/mnt/user/data/bricktracker/minifigures/':'/data/minifigures':'rw'
  -v '/mnt/user/data/bricktracker/app.db':'/data/app.db':'rw'
  -v '/mnt/user/data/bricktracker/':'/data':'rw' 'gitea.baerentsen.space/frederikbaerentsen/bricktracker:latest'

1fc91484f63d89015d7fab2aacc538bf40098fd87db3314913f82c7cc468405c

The command finished successfully!
I don't see any references to 'static' in the configuration after a few tweaks. ``` docker run -d --name='BrickTracker' --net='bridge' --pids-limit 2048 -e TZ="America/New_York" -e HOST_OS="Unraid" -e HOST_HOSTNAME="Tower" -e HOST_CONTAINERNAME="BrickTracker" -e 'BK_REBRICKABLE_API_KEY'='HIDDEN -e 'BK_DOMAIN_NAME'='HIDDEN' -e 'BK_AUTHENTICATION_PASSWORD'='' -e 'BK_BRICKLINK_LINKS'='false' -e 'BK_REBRICKABLE_LINKS'='false' -e 'BK_INSTRUCTIONS_ALLOWED_EXTENSIONS'='.pdf,.docx,.png' -e 'BK_HIDE_ADD_SET'='false' -e 'BK_HIDE_ADD_BULK_SET'='false' -e 'BK_HIDE_ADMIN'='false' -e 'BK_HIDE_ALL_INSTRUCTIONS'='false' -e 'BK_HIDE_SET_INSTRUCTIONS'='false' -e 'BK_HIDE_ALL_MINIFIGURES'='false' -e 'BK_HIDE_ALL_PARTS'='false' -e 'BK_HIDE_ALL_SETS'='false' -e 'BK_HIDE_MISSING_PARTS'='false' -e 'BK_HIDE_ALL_PROBLEMS_PARTS'='false' -e 'organizer'='false' -e 'BK_HIDE_WISHES'='false' -e 'BK_HIDE_TABLE_DAMAGED_PARTS'='false' -e 'BK_HIDE_TABLE_MISSING_PARTS'='false' -e 'BK_SKIP_SPARE_PARTS'='false' -e 'BK_RANDOM'='false' -e 'BK_SHOW_GRID_FILTERS'='false' -e 'BK_SHOW_GRID_SORT'='false' -e 'BK_TIMEZONE'='America/New_York' -e 'BK_DEBUG'='false' -e 'BK_BRICKLINK_LINK_PART_PATTERN'='https://www.bricklink.com/v2/catalog/catalogitem.page?P={number}' -e 'BK_REBRICKABLE_LINK_PART_PATTERN'='https://rebrickable.com/parts/{number}/_/{color}' -e 'BK_REBRICKABLE_IMAGE_NIL'='https://rebrickable.com/static/img/nil.png' -e 'BK_REBRICKABLE_LINK_MINIFIGURE_PATTERN'='https://rebrickable.com/minifigs/{number}' -e 'BK_REBRICKABLE_IMAGE_NIL_MINIFIGURE'='https://rebrickable.com/static/img/nil_mf.jpg' -e 'BK_REBRICKABLE_LINK_SET_PATTERN'='https://rebrickable.com/sets/{number}' -e 'BK_THEMES_FILE_URL'='https://cdn.rebrickable.com/media/downloads/themes.csv.gz' -e 'BK_USE_REMOTE_IMAGES'='false' -e 'BK_DATABASE_TIMESTAMP_FORMAT'='%Y-%m-%d-%H-%M-%S' -e 'BK_FILE_DATETIME_FORMAT'='%d/%m/%Y, %H:%M:%S' -e 'BK_PURCHASE_DATE_FORMAT'='%d/%m/%Y' -e 'BK_PURCHASE_CURRENCY'='€' -e 'BK_DEFAULT_TABLE_PER_PAGE'='25' -e 'BK_HOST'='0.0.0.0' -e 'BK_PORT'='3333' -e 'BK_NO_THREADED_SOCKET'='false' -e 'BK_SOCKET_NAMESPACE'='bricksocket' -e 'BK_SOCKET_PATH'='/bricksocket/' -e 'BK_INDEPENDENT_ACCORDIONS'='false' -e 'BK_REBRICKABLE_PAGE_SIZE'='100' -e 'BK_REBRICKABLE_USER_AGENT'=''\''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'\''' -e 'BK_MINIFIGURES_DEFAULT_ORDER'='rebrickable_minifigures name ASC' -e 'BK_PARTS_DEFAULT_ORDER'='rebrickable_parts.name ASC, rebrickable_parts.color_name ASC, bricktracker_parts.spare ASC' -e 'BK_SETS_DEFAULT_ORDER'='rebrickable_sets.year ASC' -e 'BK_WISHES_DEFAULT_ORDER'='bricktracker_wishes.set DESC' -e 'BK_PURCHASE_LOCATION_DEFAULT_ORDER'='bricktracker_metadata_purchase_locations.name ASC' -e 'BK_STORAGE_DEFAULT_ORDER'='bricktracker_metadata_storages.name ASC' -e 'BK_RETIRED_SETS_FILE_URL'='https://docs.google.com/spreadsheets/d/1rlYfEXtNKxUOZt2Mfv0H17DvK7bj6Pe0CuYwq6ay8WA/gviz/tq?tqx=out:csv&sheet=Sorted%20by%20Retirement%20Date' -e 'BK_DATABASE_PATH'='/data/app.db' -e 'BK_MINIFIGURES_FOLDER'='minifigures' -e 'BK_INSTRUCTIONS_FOLDER'='instructions' -e 'BK_PARTS_FOLDER'='parts' -e 'BK_SETS_FOLDER'='sets' -e 'BK_RETIRED_SETS_PATH'='/data/retired_sets.csv' -e 'BK_THEMES_PATH'='/data/themes.csv' -l net.unraid.docker.managed=dockerman -l net.unraid.docker.webui='http://[IP]:[PORT:3333]/' -l net.unraid.docker.icon='https://raw.githubusercontent.com/nwithan8/unraid_templates/master/images/brick-tracker-icon.png' -p '3333:3333/tcp' -v '/mnt/user/data/bricktracker/parts/':'/data/parts':'rw' -v '/mnt/user/data/bricktracker/instructions/':'/data/instructions':'rw' -v '/mnt/user/data/bricktracker/sets/':'/data/sets':'rw' -v '/mnt/user/data/bricktracker/minifigures/':'/data/minifigures':'rw' -v '/mnt/user/data/bricktracker/app.db':'/data/app.db':'rw' -v '/mnt/user/data/bricktracker/':'/data':'rw' 'gitea.baerentsen.space/frederikbaerentsen/bricktracker:latest' 1fc91484f63d89015d7fab2aacc538bf40098fd87db3314913f82c7cc468405c The command finished successfully! ```
Owner

Previously (v1.2.4 and earlier), folders (e.g. BK_SETS_FOLDER) were relative to /app/static/. From version 1.3 onward, folders are relative to /app/.

For example, with:
BK_SETS_FOLDER=sets:

  • Version 1.2.4: /app/static/sets
  • Version 1.3: /app/sets

Because of this change, the new default is:

BK_SETS_FOLDER=data/sets

which resolves to:

/app/data/sets

From the CHANGELOG:

BREAKING CHANGE: Version 1.3 consolidates all user data into a single data/ folder for easier backup and volume mapping. New default paths (automatically used for new installations):

- Database: data/app.db (was: app.db in root)
- Configuration: data/.env (was: .env in root)
- CSV files: data/*.csv (was: *.csv in root)
- Images/PDFs: data/{sets,parts,minifigures,instructions}/ (was: static/*)

The migration guide visualizes this change clearly with folder structure diagrams.

Please make sure that the folders referenced in your Docker command actually exist:

-e 'BK_DATABASE_PATH'='/data/app.db'
-e 'BK_MINIFIGURES_FOLDER'='minifigures'
-e 'BK_INSTRUCTIONS_FOLDER'='instructions'
-e 'BK_PARTS_FOLDER'='parts'
-e 'BK_SETS_FOLDER'='sets'
-e 'BK_RETIRED_SETS_PATH'='/data/retired_sets.csv'
-e 'BK_THEMES_PATH'='/data/themes.csv'

Your database path /data/app.db is absolute to your host system, meaning BrickTracker is looking for it at:

/data/app.db

not relative to /app (i.e. not /app/data/app.db).

Based on your Docker command, these are the paths BrickTracker is trying to access:

BK_DATABASE_PATH = /data/app.db
BK_MINIFIGURES_FOLDER = /app/minifigures
BK_INSTRUCTIONS_FOLDER = /app/instructions
BK_PARTS_FOLDER = /app/parts
BK_SETS_FOLDER = /app/sets
BK_RETIRED_SETS_PATH = /data/retired_sets.csv
BK_THEMES_PATH = /data/themes.csv

If you want to use the /app/data/ folder (recommended for v1.3 and newer), update your Docker command to:

  -e 'BK_DATABASE_PATH'='data/app.db'
  -e 'BK_MINIFIGURES_FOLDER'='data/minifigures'
  -e 'BK_INSTRUCTIONS_FOLDER'='data/instructions'
  -e 'BK_PARTS_FOLDER'='data/parts'
  -e 'BK_SETS_FOLDER'='data/sets'
  -e 'BK_RETIRED_SETS_PATH'='data/retired_sets.csv'
  -e 'BK_THEMES_PATH'='data/themes.csv'

With this change, the resolved paths will be:

BK_DATABASE_PATH = /app/data/app.db
BK_MINIFIGURES_FOLDER = /app/data/minifigures
BK_INSTRUCTIONS_FOLDER = /app/data/instructions
BK_PARTS_FOLDER = /app/data/parts
BK_SETS_FOLDER = /app/data/sets
BK_RETIRED_SETS_PATH = /app/data/retired_sets.csv
BK_THEMES_PATH = /app/data/themes.csv

Hope it helps!

Previously (v1.2.4 and earlier), folders (e.g. `BK_SETS_FOLDER`) were relative to `/app/static/`. From version 1.3 onward, folders are relative to `/app/`. For example, with: `BK_SETS_FOLDER=sets`: - Version 1.2.4: `/app/static/sets` - Version 1.3: `/app/sets` Because of this change, the new default is: ``` BK_SETS_FOLDER=data/sets ``` which resolves to: ``` /app/data/sets ``` From the [CHANGELOG](https://gitea.baerentsen.space/FrederikBaerentsen/BrickTracker/src/branch/master/CHANGELOG.md#13): ``` BREAKING CHANGE: Version 1.3 consolidates all user data into a single data/ folder for easier backup and volume mapping. New default paths (automatically used for new installations): - Database: data/app.db (was: app.db in root) - Configuration: data/.env (was: .env in root) - CSV files: data/*.csv (was: *.csv in root) - Images/PDFs: data/{sets,parts,minifigures,instructions}/ (was: static/*) ``` The [migration guide](https://bricktracker.baerentsen.space/migration_guide.html#what-changed) visualizes this change clearly with folder structure diagrams. Please make sure that the folders referenced in your Docker command actually exist: > -e 'BK_DATABASE_PATH'='/data/app.db' -e 'BK_MINIFIGURES_FOLDER'='minifigures' -e 'BK_INSTRUCTIONS_FOLDER'='instructions' -e 'BK_PARTS_FOLDER'='parts' -e 'BK_SETS_FOLDER'='sets' -e 'BK_RETIRED_SETS_PATH'='/data/retired_sets.csv' -e 'BK_THEMES_PATH'='/data/themes.csv' Your database path `/data/app.db` is absolute to your host system, meaning BrickTracker is looking for it at: ``` /data/app.db ``` not relative to `/app` (i.e. not `/app/data/app.db`). Based on your Docker command, these are the paths BrickTracker is trying to access: ``` BK_DATABASE_PATH = /data/app.db BK_MINIFIGURES_FOLDER = /app/minifigures BK_INSTRUCTIONS_FOLDER = /app/instructions BK_PARTS_FOLDER = /app/parts BK_SETS_FOLDER = /app/sets BK_RETIRED_SETS_PATH = /data/retired_sets.csv BK_THEMES_PATH = /data/themes.csv ``` If you want to use the `/app/data/` folder (recommended for v1.3 and newer), update your Docker command to: ``` -e 'BK_DATABASE_PATH'='data/app.db' -e 'BK_MINIFIGURES_FOLDER'='data/minifigures' -e 'BK_INSTRUCTIONS_FOLDER'='data/instructions' -e 'BK_PARTS_FOLDER'='data/parts' -e 'BK_SETS_FOLDER'='data/sets' -e 'BK_RETIRED_SETS_PATH'='data/retired_sets.csv' -e 'BK_THEMES_PATH'='data/themes.csv' ``` With this change, the resolved paths will be: ``` BK_DATABASE_PATH = /app/data/app.db BK_MINIFIGURES_FOLDER = /app/data/minifigures BK_INSTRUCTIONS_FOLDER = /app/data/instructions BK_PARTS_FOLDER = /app/data/parts BK_SETS_FOLDER = /app/data/sets BK_RETIRED_SETS_PATH = /app/data/retired_sets.csv BK_THEMES_PATH = /app/data/themes.csv ``` Hope it helps!
Author

I think I am back up and running. Once I made those changes, I ran into issues with the DEFAULT_ORDER variables. The default configuration for the Unraid Community App has some errors.

Thank you!!!

I think I am back up and running. Once I made those changes, I ran into issues with the DEFAULT_ORDER variables. The default configuration for the Unraid Community App has some errors. Thank you!!!
Owner

Glad you got it working. You don't need to setup all the env vars. You can skip the ones you don't want to use. The default values will apply.

Glad you got it working. You don't need to setup all the env vars. You can skip the ones you don't want to use. The default values will apply.
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: FrederikBaerentsen/BrickTracker#132