No description
Find a file
SJCoetz 62f67ba809 feat: add pocketbase proxy to fix mixed content errors
Add a same-origin API proxy route at `/api/pb/[...path]` to forward requests to PocketBase, resolving mixed content blocking issues when the Next.js app is served over HTTPS but PocketBase uses HTTP.

Update environment variables to separate the public client-facing URL and internal server-side PocketBase upstream URL, and update all env config examples and deployment files to match the new setup. Clean up the app paths manifest to include the new API route and remove a stale entry.
2026-07-20 13:17:53 +02:00
.next feat: add pocketbase proxy to fix mixed content errors 2026-07-20 13:17:53 +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.