# Note on *_DEFAULT_ORDER # If set, it will append a direct ORDER BY to the SQL query # while listing objects. You can look at the structure of the SQLite database to # see the schema and the column names. Some fields are compound and not visible # directly from the schema (joins). You can check the query in the */list.sql files # in the source to see all column names. # The usual syntax for those variables is . [ASC|DESC]. # For composite fields (CASE, SUM, COUNT) the syntax is , there is no
name. # For instance: # - table.name (by table.name, default order) # - table.name ASC (by table.name, ascending) # - table.name DESC (by table.name, descending) # - field (by field, default order) # - ... # You can combine the ordering options. # You can use the special column name 'rowid' to order by insertion order. # Optional: A unique password to protect sensitive areas of the app # Useful if you want to share the page with other in read-only # Security: Currently not fully protecting the socket action, would be better # to have server-side sessions, with flask-session for instance # BK_AUTHENTICATION_PASSWORD="my-secret-password" # Optional/Mandatory: A unique key used to sign the secrets when using authentication # Do not share it with anyone, and you MUST make it random. # You can use the following command in your terminal to generate such random secret: # python3 -c 'import secrets; print(secrets.token_hex())' # BK_AUTHENTICATION_KEY="change-this-to-something-random" # Optional: Pattern of the link to Bricklink for a part. Will be passed to Python .format() # Default: "https://www.bricklink.com/v2/catalog/catalogitem.page?P={number}" # BK_BRICKLINK_LINK_PART_PATTERN="" # Optional: Display Bricklink links wherever applicable # Default: false # BK_BRICKLINK_LINKS=true # Optional: Path to the database. # Useful if you need it mounted in a Docker volume. Keep in mind that it will not # do any check on the existence of the path, or if it is dangerous. # Default: "./app.db" # BK_DATABASE_PATH="/var/lib/bricktracker/app.db" # Optional: Format of the timestamp added to the database file when downloading it # Check https://docs.python.org/3/library/time.html#time.strftime for format details # Default: "%Y-%m-%d-%H-%M-%S" # BK_DATABASE_TIMESTAMP_FORMAT="%Y%m%d-%H%M%S" # Optional: Enable debugging. # Default: false # BK_DEBUG=true # Optional: Default number of items per page displayed for big tables # You can put whatever value but the exist steps are: 10, 25, 50, 100, 500, 1000 # Default: 25 # BK_DEFAULT_TABLE_PER_PAGE=50 # Optional: if set up, will add a CORS allow origin restriction to the socket. # Default: "" # Legacy name: DOMAIN_NAME # BK_DOMAIN_NAME="http://localhost:3333" # Optional: IP address the server will listen on. # Default: "0.0.0.0" # BK_HOST="0.0.0.0" # Optional: By default, accordion items are linked together and only one can be in # a collapsed state. This makes all the items indepedent. # Default: false # BK_INDEPENDENT_ACCORDIONS=true # Optional: A comma separated list of extensions allowed for uploading and displaying # instruction files. You need to keep the dot (.) in the extension. # Security: not really # Default: .pdf # BK_INSTRUCTIONS_ALLOWED_EXTENSIONS=".pdf, .docx, .png" # Optional: Folder where to store the instructions, relative to the 'static/' folder # Default: "instructions" # BK_INSTRUCTIONS_FOLDER="/var/lib/bricktracker/instructions/" # Optional: Hide the 'Add' entry from the menu. Does not disable the route. # Default: false # BK_HIDE_ADD_SET=true # Optional: Hide the 'Bulk add' entry from the add page. Does not disable the route. # Default: false # BK_HIDE_ADD_BULK_SET=true # Optional: Hide the 'Admin' entry from the menu. Does not disable the route. # Default: false # BK_HIDE_ADMIN=true # Optional: Hide the 'Instructions' entry from the menu. Does not disable the route. # Default: false # BK_HIDE_ALL_INSTRUCTIONS=true # Optional: Hide the 'Minifigures' entry from the menu. Does not disable the route. # Default: false # BK_HIDE_ALL_MINIFIGURES=true # Optional: Hide the 'Parts' entry from the menu. Does not disable the route. # Default: false # BK_HIDE_ALL_PARTS=true # Optional: Hide the 'Sets' entry from the menu. Does not disable the route. # Default: false # BK_HIDE_ALL_SETS=true # Optional: Hide the 'Missing' entry from the menu. Does not disable the route. # Default: false # BK_HIDE_MISSING_PARTS=true # Optional: Hide the 'Wishlist' entry from the menu. Does not disable the route. # Default: false # BK_HIDE_WISHES=true # Optional: Change the default order of minifigures. By default ordered by insertion order. # Useful column names for this option are: # - minifigures.fig_num: minifigure ID (fig-xxxxx) # - minifigures.name: minifigure name # Default: "minifigures.name ASC" # BK_MINIFIGURES_DEFAULT_ORDER="minifigures.name ASC" # Optional: Folder where to store the minifigures images, relative to the 'static/' folder # Default: "minifigs/" # BK_MINIFIGURES_FOLDER="minifigures/" # Optional: Disable threading on the task executed by the socket. # You should not need to change this parameter unless you are debugging something with the # socket itself. # Default: false # BK_NO_THREADED_SOCKET=true # Optional: Change the default order of parts. By default ordered by insertion order. # Useful column names for this option are: # - inventory.part_num: part number # - inventory.name: part name # - inventory.color_name: par color name # - total_missing: number of missing parts # Default: "inventory.name ASC, inventory.color_name ASC, is_spare ASC" # BK_PARTS_DEFAULT_ORDER="total_missing DESC, inventory.name ASC" # Optional: Folder where to store the parts images, relative to the 'static/' folder # Default: "parts/" # BK_PARTS_FOLDER="parts/" # Optional: Port the server will listen on. # Default: 3333 # BK_PORT=3333 # Optional: Shuffle the lists on the front page. # Default: false # Legacy name: RANDOM # BK_RANDOM=true # Optional/Mandatory: The API key used to retrieve sets from the Rebrickable API. # It is not necessary to set it to display the site, but it will limit its capabilities # as you will not be able to add new sets # Default: "" # Legacy name: REBRICKABLE_API_KEY # BK_REBRICKABLE_API_KEY="xxxx" # Optional: URL of the image representing a missing image in Rebrickable # Default: "https://rebrickable.com/static/img/nil.png" # BK_REBRICKABLE_IMAGE_NIL="" # Optional: URL of the image representing a missing minifigure image in Rebrickable # Default: "https://rebrickable.com/static/img/nil_mf.jpg" # BK_REBRICKABLE_IMAGE_NIL_MINIFIGURE="" # Optional: Pattern of the link to Rebrickable for a minifigure. Will be passed to Python .format() # Default: "https://rebrickable.com/minifigs/{number}" # BK_REBRICKABLE_LINK_MINIFIGURE_PATTERN="" # Optional: Pattern of the link to Rebrickable for a part. Will be passed to Python .format() # Default: "https://rebrickable.com/parts/{number}/_/{color}" # BK_REBRICKABLE_LINK_PART_PATTERN="" # Optional: Pattern of the link to Rebrickable for a set. Will be passed to Python .format() # Default: "https://rebrickable.com/sets/{number}" # BK_REBRICKABLE_LINK_SET_PATTERN="" # Optional: Display Rebrickable links wherever applicable # Default: false # Legacy name: LINKS # BK_REBRICKABLE_LINKS=true # Optional: The amount of items to retrieve per Rebrickable API call when. # Default: 100 # BK_REBRICKABLE_PAGE_SIZE=200 # Optional: URL to the unofficial retired sets list on Google Sheets # Default: "https://docs.google.com/spreadsheets/d/1rlYfEXtNKxUOZt2Mfv0H17DvK7bj6Pe0CuYwq6ay8WA/gviz/tq?tqx=out:csv&sheet=Sorted%20by%20Retirement%20Date" # BK_RETIRED_SETS_FILE_URL="" # Optional: Path to the unofficial retired sets lists # You can name it whatever you want, but content has to be a CSV # Default: "./retired_sets.csv" # BK_RETIRED_SETS_PATH="/var/lib/bricktracker/retired_sets.csv" # Optional: Change the default order of sets. By default ordered by insertion order. # Useful column names for this option are: # - sets.set_num: set number as a string # - sets.name: set name # - sets.year: set release year # - sets.num_parts: set number of parts # - set_number: the number part of set_num as an integer # - set_version: the version part of set_num as an integer # - total_missing: number of missing parts # - total_minifigures: number of minifigures # Default: "set_number DESC, set_version ASC" # BK_SETS_DEFAULT_ORDER="sets.year ASC" # Optional: Folder where to store the sets images, relative to the 'static/' folder # Default: "sets/" # BK_SETS_FOLDER="sets/" # Optional: Skip saving or displaying spare parts # Default: false # BK_SKIP_SPARE_PARTS=true # Optional: Namespace of the Socket.IO socket # Default: "bricksocket" # BK_SOCKET_NAMESPACE="customsocket" # Optional: Namespace of the Socket.IO path # Default: "/bricksocket/" # BK_SOCKET_PATH="custompath" # Optional: URL to the themes.csv.gz on Rebrickable # Default: "https://cdn.rebrickable.com/media/downloads/themes.csv.gz" # BK_THEMES_FILE_URL="" # Optional: Path to the themes file # You can name it whatever you want, but content has to be a CSV # Default: "./themes.csv" # BK_THEMES_PATH="/var/lib/bricktracker/themes.csv" # Optional: Timezone to use to display datetimes # Check your system for available timezone/TZ values # Default: "Etc/UTC" # BK_TIMEZONE="Europe/Copenhagen" # Optional: Use remote image rather than the locally stored ones # Also prevents downloading any image when adding sets # Default: false # BK_USE_REMOTE_IMAGES=true # Optional: Change the default order of sets. By default ordered by insertion order. # Useful column names for this option are: # - wishlist.set_num: set number as a string # - wishlist.name: set name # - wishlist.year: set release year # - wishlist.num_parts: set number of parts # Default: "wishlist.rowid DESC" # BK_WISHES_DEFAULT_ORDER="set_number DESC, set_version ASC"