# App Config APP_PORT=8081 ENV=development JWT_SECRET_KEY=DoormileSuperSecretJWTKey2026! INTERNAL_API_KEY=doormile-internal-2024 # PostgreSQL Database Configuration DB_HOST=31.97.228.132 DB_PORT=5433 DB_NAME=logistics DB_USER=admin DB_PASSWORD=Package@321# # Redis Configuration REDIS_HOST=31.97.228.132 REDIS_PORT=6379 REDIS_USER=admin REDIS_PASSWORD=Package@321# # AI Decision Engine AI_LAYER_BASE_URL=https://routemate.workolik.com # DigitalOcean Spaces — rider proof-of-delivery / signature uploads. # Same bucket/region/CDN as the legacy (jupiter) rider app so images share one # store. Consumed by internal/storage for presigned PUT URLs (/miler/uploads/sign). DO_SPACES_REGION=sgp1 DO_SPACES_ENDPOINT=sgp1.digitaloceanspaces.com DO_SPACES_BUCKET=nearle DO_SPACES_ACCESS_KEY=DO00NQER7N2FRYZAB2HR DO_SPACES_SECRET_KEY=nMDewX25IBEu1FM5dakK+v28/WbW3TzBAwq913+dxP0 DO_SPACES_CDN_BASE=https://images.nearle.app # Customer-app sign-in (QA). # # A FIXED verification code accepted for every identifier, in place of a real # SMS. It exists because internal/sms has no Sender registered -- sms.Register() # has no callers -- so every OTP is written to the application log and no text # is ever delivered. Without this nobody can sign into the customer app at all. # # internal/sms/sms.go StagingCode() refuses this outright when ENV=production # and logs an error instead, because a fixed code accepts a login for EVERY # account on the platform. ENV is currently "development" above, so the guard # does NOT fire -- this code is live wherever these values are deployed. # # Remove it, or set ENV=production, before real customers exist. Registering a # real SMS gateway is the actual fix; this is scaffolding. CX_STAGING_OTP=1234