Makeships Beta
Makeships Inventory · setup guide

Set up Makeships Inventory

Install Inventory in your own cloud, add your warehouses, items and opening stock, then connect it to your store and to Procurement so sales, deliveries and reorders flow on their own.

Time
About 20 minutes to install, plus time to load items and count stock
Local ports
App 4200 · Postgres 5434
Who does what
A developer installs; your team does the first-run setup in the app.

Before you start

Node.js 20.9+

22 LTS recommended, with npm

Postgres 16

Docker Compose starts one locally; use a managed Postgres in production

A domain on HTTPS

e.g. inventory.example.com

Optional

An AI Gateway key for the AI agents (not needed on Vercel)

For your developer

Install

  1. 1

    Get the code and create the settings file

    Copy the example settings and fill them in (table below). Generate NEXTAUTH_SECRET with openssl rand -base64 32.

    cd humlens/apps/humlens-inventory
    cp .env.example .env
  2. 2

    Start the database and create the tables

    Docker Compose starts Postgres on port 5434.

    docker compose up -d
    npm install
    npx prisma migrate deploy
  3. 3

    Run it

    Inventory opens at http://localhost:4200. npm run seed loads a demo team; skip it in production.

    npm run dev
  4. 4

    Deploy to production

    The self-host stack builds the image, runs migrations in a one-off container, then starts the app with Postgres. On a plain Node host, npm run build and npm start do the same.

    cp .env.selfhost.example .env
    docker compose -f docker-compose.selfhost.yml up -d --build

For your developer

Settings

These go in the .env file, or your host's secret manager in production.

Setting Needed What it is
DATABASE_URL Required Postgres connection string
NEXTAUTH_URL, APP_URL, NEXT_PUBLIC_APP_URL Required Inventory's public address
NEXTAUTH_SECRET Required Random string for sign-in sessions
CONNECTIONS_SECRET Recommended Encrypts the Procurement key saved in Settings › Integrations. Falls back to NEXTAUTH_SECRET.
HUMLENS_SSO_SECRET When connected The same 32+ character random value in every connected app, so people move between apps without signing in again.
NEXT_PUBLIC_HUMLENS_INVENTORY_URL, …_PROCUREMENT_URL, …_COMMERCE_URL When connected Each app's public address. Apps with an address appear as links in the menu.
DISABLE_SCHEDULER Serverless only Turns off the built-in background jobs; run npm run agent-scheduler from a cron instead.
AI_GATEWAY_API_KEY Optional Enables the AI agents
AGENT_MAX_AUTO_REORDER_AMOUNT Recommended Hard ceiling on what an AI agent may reorder on its own

For your team

First-run setup

Done in the app's own screens, in this order. No code involved.

  1. 01

    Create your account and team

    Sign up

    The person who creates the team is its Owner.

  2. 02

    Add warehouses

    Warehouses

    Create at least one and mark one as the default.

  3. 03

    Add items

    Items

    Use the same SKUs as your store. Set cost price, reorder point, reorder quantity and a preferred supplier with its lead time.

  4. 04

    Record opening stock

    Stock levels › Record movement

    Record what you actually hold, per item and warehouse.

  5. 05

    Invite your team

    Settings › Members & invitations

    Warehouse managers run receiving, transfers and counts; staff record day-to-day movement; auditors can only read.

  6. 06

    Set the AI agent policy

    Settings › AI agent policy

    Decide what the agents may do on their own and what waits for a person.

Commerce · Inventory · Procurement

Connect the apps

Inventory sits between the store and Procurement. Keys act as the person who created them, so create them as an Owner or Admin who'll stay.

  1. 1

    Give the store a key

    Settings › API keys

    Create a key named "Store" and paste it into the store under Connect › Integrations › Operations.

  2. 2

    Give Procurement a key

    Settings › API keys

    Create a key named "Procurement" and paste it into Procurement under Settings › Integrations.

  3. 3

    Connect to Procurement

    Settings › Integrations

    Paste Procurement's address and a key created there, then Test and connect. Keep Send low-stock reorders to Procurement on.

Setting up all three? Do them in this order: Commerce, Inventory, then Procurement, and connect them last.

Check it works

  • You can sign in and see your warehouses and items.
  • Stock levels shows on hand, reserved and available for each item.
  • Settings › Integrations shows Procurement connected and Store notifications: Working.
  • Recording a few units updates the store's stock within seconds.
  • AI Agent Activity › Run reorder & dead-stock check raises one request in Procurement for items at their reorder point.

Troubleshooting

A red banner says updates couldn't be delivered

Open Settings › Integrations, fix the cause shown (often a revoked key), then press Retry now.

Keys under Integrations show "unreadable"

CONNECTIONS_SECRET or NEXTAUTH_SECRET changed. Enter the keys again.

No reorder suggestions appear

Items need about two weeks of sales history. Set a preferred supplier so its lead time is used.

Store notifications never shows as Working

Press Sync now in the store; its Inventory key must belong to an Owner or Admin.

Going live

  • Fresh random NEXTAUTH_SECRET and CONNECTIONS_SECRET, never committed.
  • npm run build runs on every deploy (it applies migrations).
  • On serverless hosting, DISABLE_SCHEDULER=1 and a cron running npm run agent-scheduler.
  • Daily database backups, with a restore tested once.
  • No demo data (npm run seed) in production.

Rather have us set it up?

Our team can install Inventory in your AWS, GCP or Azure account and configure it with you.

Other setup guides