Skip to main content

First-Time Deployment

Use these steps when deploying from scratch (fresh installation with no existing data).

Step 1: Navigate to Project Directory

cd /path/to/claw-machine-manager

Step 2: Start All Services

docker compose up -d

This starts three containers:

  • inventory-db (PostgreSQL 15)
  • inventory-backend (FastAPI)
  • inventory-frontend (Nginx)

Step 3: Wait for Database Health Check

# Check status (wait for "healthy" on db service)
docker compose ps

Expected output:

NAME                 STATUS
inventory-db         Up X seconds (healthy)
inventory-backend    Up X seconds
inventory-frontend   Up X seconds

⏱️ This usually takes 5-10 seconds.

Step 4: Load Database Schema

docker exec -i inventory-db psql -U inventory_user -d inventory < db/schema.sql

You should see output like:

CREATE TABLE
CREATE TABLE
CREATE FUNCTION
CREATE TRIGGER
...

Step 5: Verify Schema Loaded

docker exec inventory-db psql -U inventory_user -d inventory -c "\dt"

Expected output should show 12 tables:

 customers
 inventory_balances
 items
 other_locations
 po_line_items
 purchase_orders
 service_locations
 suppliers
 transfer_line_items
 transfers
 warehouse_locations
 warehouses

Step 6: Access the Application

Open your browser to:

Frontend: http://localhost:56421

Backend API docs (optional): http://localhost:8000/docs