No description
Find a file
SJCoetz 87c213acc6 build: update next.js build artifacts
Commit updated production and development build outputs, including webpack bundles, route page metadata, standalone server dependencies, and clean up stale hot module replacement files.
2026-07-20 13:19:18 +02:00
.next build: update next.js build artifacts 2026-07-20 13:19:18 +02:00
node_modules feat: add depot map integration 2026-07-20 12:31:18 +02:00
public feat: add depot map integration 2026-07-20 12:31:18 +02:00
scripts chore(seed): update demo depots and coords 2026-07-20 12:56:33 +02:00
src feat: add pocketbase proxy to fix mixed content errors 2026-07-20 13:17:53 +02:00
.dockerignore build: update next config, add dockerignore and fix UI button classes 2026-07-20 12:11:00 +02:00
.DS_Store chore: add generated build artifacts and node module type files 2026-07-20 01:18:42 +02:00
.env.local feat: add pocketbase proxy to fix mixed content errors 2026-07-20 13:17:53 +02:00
.env.local.example feat: add pocketbase proxy to fix mixed content errors 2026-07-20 13:17:53 +02:00
AGENTS.md chore(seed): update demo depots and coords 2026-07-20 12:56:33 +02:00
coolify.env feat: add pocketbase proxy to fix mixed content errors 2026-07-20 13:17:53 +02:00
Dockerfile build: update next config, add dockerignore and fix UI button classes 2026-07-20 12:11:00 +02:00
next-env.d.ts chore: add generated build artifacts and node module type files 2026-07-20 01:18:42 +02:00
next.config.mjs build: update next config, add dockerignore and fix UI button classes 2026-07-20 12:11:00 +02:00
package-lock.json feat: add depot map integration 2026-07-20 12:31:18 +02:00
package.json feat: add depot map integration 2026-07-20 12:31:18 +02:00
postcss.config.mjs chore: add generated build artifacts and node module type files 2026-07-20 01:18:42 +02:00
README.md build: update next config, add dockerignore and fix UI button classes 2026-07-20 12:11:00 +02:00
tsconfig.json chore: add generated build artifacts and node module type files 2026-07-20 01:18:42 +02:00
tsconfig.tsbuildinfo feat: add pocketbase proxy to fix mixed content errors 2026-07-20 13:17:53 +02:00

Diesel Depot

Diesel depot & fleet management web/mobile app — Lumelela Depot + Fanie se plot Depot.

Stack: Next.js 14 (PWA) · PocketBase backend · Tailwind · TypeScript Dev port: 4002 (avoiding 3000/4001 used by sibling projects)

Quick start

# 1. Install
npm install

# 2. Configure
cp .env.local.example .env.local
#   → set NEXT_PUBLIC_POCKETBASE_URL
#   → set PB_ADMIN_TOKEN (a superuser auth token from your PB admin)

# 3. Create collections (idempotent — safe to re-run)
npm run pb:create

# 4. Seed initial data (Lumelela, Fanie se plot, owner user, starter truck)
npm run pb:seed

# 5. Run
npm run dev
# → open http://localhost:4002

Default owner login: owner@dieseldepot.local / changeme — change this on first login.

Collections (all prefixed dd_ to avoid clashing with other apps on the same PB)

Collection Type Notes
dd_depots base Lumelela, Fanie se plot, etc.
dd_trucks base Capacity + current balance + current km
dd_clients base Customer master + default_lat/lng for anomaly flag
dd_users auth Drivers, pump attendants, admins, owners
dd_delivery_notes base Meter readings, photo, signature, status, etc.

v1 scope

Foundation + delivery note capture. Defer to v2:

  • Internal transfers (depot ↔ truck load/empty log)
  • Sage invoice bridge (number/amount capture + status)
  • Evaporation/loss report
  • Location anomaly detection
  • Weekly km prompt
  • Offline PWA sync queue

PWA

Installable on Android/iOS home screen. Service worker is a stub — no offline cache yet. Pairs well with the camera APIs in the delivery-note form.

Self-host (Coolify)

The repo ships a multi-stage Dockerfile (standalone Next.js output) and a coolify.env template you can paste straight into Coolify's env panel.

In Coolify:

  1. Add a new Application resource, point it at this repo.
  2. Build pack: Dockerfile (not Nixpacks).
  3. Port: 3000 (Coolify will auto-detect from the EXPOSE).
  4. Open the Environment Variables tab and paste the contents of coolify.env. The only required one is NEXT_PUBLIC_POCKETBASE_URL — set it to the external https URL of your PocketBase service.
  5. Deploy. The first build will take a few minutes; subsequent deploys are fast thanks to the layer cache.

If you don't have PocketBase in Coolify yet, add it as a second service (any of the pocketbase/pocketbase image templates work) and point the Diesel Depot's NEXT_PUBLIC_POCKETBASE_URL at its public domain.