2026-04-12 20:09:30 +02:00
2026-04-09 15:18:36 +02:00
2026-03-14 20:07:01 +00:00

GearBox

A web app for managing gear collections (bikepacking, sim racing, etc.), tracking weight and price, and planning purchases through research threads.

Features

  • Organize gear into categories with custom icons
  • Track weight and price for every item
  • Create setups (packing lists) from your collection with automatic weight/cost totals
  • Research threads for comparing candidates before buying
  • Image uploads for items and candidates

Deployment

GearBox is deployed via Coolify as a Docker image with separate services for dependencies.

Required services:

  • PostgreSQL 16 — primary database
  • Garage (or any S3-compatible storage) — image uploads
  • Logto — OIDC authentication

GearBox image: gitea.jeanlucmakiola.de/makiolaj/gearbox:latest

See .env.example for required environment variables.

Updating

CI pushes a new Docker image on every release. Coolify auto-deploys when the image tag updates.

Database migrations run automatically on startup via entrypoint.sh.

Tech Stack

  • Runtime & Package Manager: Bun
  • Frontend: React 19, Vite, TanStack Router, TanStack Query, Tailwind CSS v4, Zustand
  • Backend: Hono, Drizzle ORM, PostgreSQL
  • Storage: S3-compatible (Garage, Cloudflare R2, AWS S3)
  • Auth: OIDC via Logto

Local Development

Prerequisites

  • Bun installed
  • PostgreSQL, Logto, and Garage running (via Coolify test instance or locally)

Setup

  1. Install dependencies:

    bun install
    
  2. Copy and configure environment:

    cp .env.example .env
    # Edit .env with your service URLs and credentials
    
  3. Start the development servers:

    bun run dev
    

    Starts both the Vite frontend (port 5173) and Hono backend (port 3000).

Open http://localhost:5173 in your browser.

Commands

  • bun run dev — Start dev servers (frontend + backend)
  • bun run build — Build production assets
  • bun test — Run tests
  • bun run lint — Lint with Biome
  • bun run db:generate — Generate Drizzle migrations after schema changes
Description
No description provided
Readme Apache-2.0 6.2 MiB
v1.4.3 Latest
2026-04-04 09:19:40 +00:00
Languages
TypeScript 73.1%
HTML 26.7%
Shell 0.1%