Files
gashboard/apps/api/package.json
Dorian 2dc9be4678 chore: scaffold pnpm workspace, container, deploy docs
Two-app pnpm workspace for the gashboard (mining dashboard) project:
@gashboard/api (Express 5 + TS) and @gashboard/web (Vue 3 + Vite + TS).
Shared tsconfig.base.json. Multi-stage Dockerfile (node:22.12-alpine,
non-root, healthchecked) and docker-compose.yml ready to deploy as a
Portainer Stack on Umbrel — joins umbrel_main_network so it can reach
the Datum container directly. .env.example documents every var; README
covers the Portainer deploy flow and the security posture.

Note: Dockerfile has a TODO marker to SHA256-pin the base image before
shipping to production.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 15:57:57 +01:00

35 lines
835 B
JSON

{
"name": "@gashboard/api",
"version": "0.1.0",
"private": true,
"type": "module",
"main": "dist/index.js",
"scripts": {
"dev": "tsx watch src/index.ts",
"build": "tsc -p tsconfig.json",
"start": "node dist/index.js",
"typecheck": "tsc -p tsconfig.json --noEmit"
},
"dependencies": {
"cors": "2.8.5",
"express": "4.21.1",
"express-rate-limit": "7.4.1",
"helmet": "8.0.0",
"jsonwebtoken": "9.0.2",
"node-html-parser": "6.1.13",
"nostr-tools": "2.10.4",
"pino": "9.5.0",
"pino-http": "10.3.0",
"zod": "3.23.8"
},
"devDependencies": {
"@types/cors": "2.8.17",
"@types/express": "5.0.0",
"@types/express-serve-static-core": "5.0.2",
"@types/jsonwebtoken": "9.0.7",
"@types/node": "22.9.0",
"tsx": "4.19.2",
"typescript": "5.6.3"
}
}