No description
Find a file
SJCoetz a7800eef91 feat: add open graph social support and site URL configuration
- add Open Graph and Twitter card metadata to root app layout, using NEXT_PUBLIC_SITE_URL for absolute canonical URLs and social image paths
- introduce NEXT_PUBLIC_SITE_URL environment variable to configure the app's public base URL
- add environment variable definitions to .env.local.example and coolify.env
- create scripts/make-og.py to generate 1200x630 pixel social share images
- add public/og.png as the default social share asset
- add .shrink CSS utility class for flex layout control
- update app build manifests and route entries for new application pages
2026-07-20 14:18:41 +02:00
.next feat: add open graph social support and site URL configuration 2026-07-20 14:18:41 +02:00
node_modules feat: add depot map integration 2026-07-20 12:31:18 +02:00
public feat: add open graph social support and site URL configuration 2026-07-20 14:18:41 +02:00
scripts feat: add open graph social support and site URL configuration 2026-07-20 14:18:41 +02:00
src feat: add open graph social support and site URL configuration 2026-07-20 14:18:41 +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 open graph social support and site URL configuration 2026-07-20 14:18:41 +02:00
AGENTS.md chore(seed): update demo depots and coords 2026-07-20 12:56:33 +02:00
coolify.env feat: add open graph social support and site URL configuration 2026-07-20 14:18:41 +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 open graph social support and site URL configuration 2026-07-20 14:18:41 +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.