HOWTO – Deploy i Replit (Next.js + agent)
Trygg utrulling uten manuelle filendringer. Oppdag rammeverk, rett scripts, test lokalt, sett Deploy.
Én-prompt for trygg deploy
MÅL: Publiser denne appen live uten manuelle filendringer. Oppdag rammeverk, rett scripts, test lokalt, sett Deploy. Rapporter til slutt.
REGLER: Ikke skriv hemmeligheter til logg. Hvis automatisk endring av Deploy ikke er lov, skriv disse tre linjene:
Build command: npm run build
Run command: npm run start
Port: 3000
STEG:
1) Oppdag stack:
- Les package.json. Hvis "next" finnes -> Next.js.
- Finn om server/index.ts finnes (custom server).
- Hvis ikke Next.js men Vite finnes, behold Vite (bare rapportér).
2) Rett scripts hvis Next.js:
- Backup package.json -> package.backup.<ts>.json
- scripts.dev = "next dev -p 3000"
- scripts.build = "next build"
- scripts.start =
* med server/index.ts: "NODE_ENV=production tsx server/index.ts" (installer dev-dep: tsx)
* ellers: "next start -p 3000"
- Fjern Vite/esbuild-scripts hvis de finnes.
3) Avhengigheter:
- npm install
- om nødvendig: npm i -D tsx
- verifiser at next, react, react-dom finnes
- valgfritt: npm remove vite esbuild @vitejs/plugin-react (hvis ubrukte)
4) Lokal test:
- npm run dev -> / svarer 200/HTML i webview
- npm run build -> OK
- npm run start -> / svarer 200/HTML
- POST /api/heartbeat (uten auth) -> 401 (forventet)
5) Deployment:
- Sett (automatisk hvis mulig, ellers bruk tre linjer over):
Build: npm run build
Run: npm run start
Port: 3000
6) Sluttrapport (nøyaktig format):
[DEPLOY-FIX REPORT]
DetectedFramework=Next.js|Vite|Other
CustomServer=YES|NO
NodeVersion=<x.y.z or unknown>
Scripts:
dev=<...>
build=<...>
start=<...>
PackagesAdjusted=YES|NO (removed: <liste> added: <liste>)
LocalBuild=OK|FAIL
LocalProdStart=OK|FAIL
Sanity:
GET/ = 200|FAIL
POST /api/heartbeat (no auth) = 401|other
DeploymentConfig:
BuildCommand="npm run build"
RunCommand="npm run start"
Port=3000
NextSteps=If UI change needed, paste the three lines above into Replit Deploy settings and click Deploy.Agent-sjekkliste (per app – dev/prod)
Secrets (ikke i git):
DASHBOARD_URL=<oversiktsapp-url>
DASHBOARD_SECRET=<hemmelig>
APP_ID=<ascii-slug, f.eks. forste-app-prod>
APP_OWNER=Kent|Vitali|Timothy
# valgfritt:
AGENT_KEEPALIVE_MIN=15
AGENT_WATCH_HOSTS=api.digitool.no,tripletex.no
AGENT_BLOCK_DIGITOOL=0
Importer agent (før alt annet):
// Node:
import './agent';
// Python:
import agent
agent.install()
Verifisering:
GET <DASHBOARD_URL>/api/apps
GET <DASHBOARD_URL>/api/apps/<APP_ID>
HEAD https://api.digitool.no/__telemetry-testVanlige feil → kjapp løsning
- Vite vs Next.js: mangler index.html → bruk prompten over (bytt til
next build). - Custom server:
start = NODE_ENV=production tsx server/index.ts. - Port: 3000.
- Ingen data i dashboard: agent må importeres tidlig + riktige secrets i miljøet som kjører.
- APP_ID med æ/ø/å: bruk ASCII-slug (
forste-app-prod).