Skip to content

Getting Started

thenotoriousJeremy edited this page Aug 20, 2026 · 2 revisions

Getting Started with Bindarr

Welcome to Bindarr! This guide walks you through setting up your own Bindarr server, initializing your admin account, setting up card scanning models, and adding your first cards.


Prerequisites

  • Docker & Docker Compose (recommended) OR Node.js 18+ / Prebuilt Binary.
  • A modern web browser with camera support (Chrome, Safari, Firefox, Edge).
  • A smartphone on the same local network (if you plan to scan physical cards with your phone camera).

Step 1: Launch Bindarr with Docker

Create a directory on your host machine, create a docker-compose.yml file:

services:
  bindarr:
    image: ghcr.io/thenotoriousjeremy/bindarr:latest
    container_name: bindarr
    restart: unless-stopped
    ports:
      - "3001:3001"   # HTTP: use behind a reverse proxy or local access
      - "3443:3443"   # HTTPS: use for direct LAN access (camera scanning requires HTTPS)
    environment:
      # Optional: set a custom session/admin configuration
      - TRUST_PROXY=1
    volumes:
      - bindarr-data:/app/database

volumes:
  bindarr-data:

Start the container:

docker compose up -d

Which port should you use?

  • If you are using a reverse proxy (Caddy, Nginx Proxy Manager, Traefik), point your proxy to http://localhost:3001.
  • If you have no proxy and want to scan cards from your phone on your local network, navigate directly to https://<YOUR-SERVER-IP>:3443. Modern browsers require HTTPS to grant camera access. Accept the self-signed certificate warning once.

Step 2: First-Time Setup & Admin Account

  1. Open your browser and navigate to http://localhost:3001 (or https://<YOUR-SERVER-IP>:3443).
  2. On first launch, Bindarr detects an uninitialized database and displays the Initial Admin Setup screen.
  3. Enter your desired password for the default admin account and submit.
  4. Log in with your new admin credentials.

(Alternatively, you can set DEFAULT_ADMIN_PASSWORD=your_password in your environment variables to automatically initialize the admin account on startup).


Step 3: Fetch Scan Models & Build Catalogs

Bindarr uses lightweight neural networks to detect card boundaries and identify artwork. Because the models are licensed under AGPL-3.0 and Bindarr is MIT, they are downloaded on demand rather than bundled.

1. Fetch the Neural Network Models

Run the download script inside the running container:

docker exec bindarr node scripts/fetch-models.mjs

(This downloads the cornelius.onnx corner detector (~4.2MB) and milo.onnx visual embedder (~5.4MB) into your persistent storage volume).

2. Download or Build Scan Catalogs

To identify cards, the visual embedder needs a catalog of cards to compare against:

  • Option A (Instant Fallback Catalogs): Run the fetch script with the --catalogs flag to download prebuilt English MTG and Pokémon catalogs:
    docker exec bindarr node scripts/fetch-models.mjs --catalogs
  • Option B (Build Catalogs from Admin UI - Recommended):
    1. Go to Admin → Catalogs in the Bindarr web UI.
    2. Select your game (Pokémon or Magic: The Gathering) and language (e.g. English, Japanese, French).
    3. Click Build Catalog.
    4. The server will cache card metadata and generate high-resolution visual embeddings with live progress updates.

Step 4: Add Your First Cards

Navigate to Add Cards in the top navigation bar:

  • Camera Scanner: Click Scan, hold a card in front of your camera. Bindarr's in-browser vision detector will highlight the card boundary with a green box, capture, dewarp, and match it against your catalog.
  • Text Search: Type the card name, set code, or collector number (e.g. Charizard base1 or Black Lotus) to browse set card lists and add individual or bulk cards.
  • Language & Printing: Choose condition (Near Mint, Lightly Played, etc.), printing (Normal, Foil, Reverse Holofoil), and language.

Step 5: Create Binders & Organize Storage

  1. Go to Storage (or Containers).
  2. Click Add Container and choose between:
    • Binder: Specify page count and pocket layout (e.g., 9-pocket 3x3 grids).
    • Box: Specify number of rows and divider capacity.
  3. Choose a sorting order:
    • Custom: Manually arrange cards with drag-and-drop or tap-to-file.
    • Set & Number: Automatically sort cards by official set release order and collector number.
    • Price, Name, Color/Type, or Language: Group cards according to your preferred taxonomy.
  4. Turn on Arrange Mode to drag cards between binder pockets or box rows.

Next Steps

Clone this wiki locally