@cybermem/mcp 0.8.1 → 0.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dockerignore +8 -0
- package/Dockerfile +43 -0
- package/dist/env.js +14 -0
- package/dist/index.js +488 -149
- package/package.json +6 -2
- package/src/env.ts +10 -0
- package/src/index.ts +571 -160
package/.dockerignore
ADDED
package/Dockerfile
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
FROM node:18-alpine AS builder
|
|
2
|
+
|
|
3
|
+
WORKDIR /app
|
|
4
|
+
# Install build dependencies for native modules (better-sqlite3)
|
|
5
|
+
RUN apk add --no-cache python3 make g++
|
|
6
|
+
|
|
7
|
+
# Copy package files
|
|
8
|
+
COPY package.json ./
|
|
9
|
+
# Install ALL dependencies (including devDeps for build if TS)
|
|
10
|
+
RUN npm install
|
|
11
|
+
|
|
12
|
+
# Copy source
|
|
13
|
+
COPY . .
|
|
14
|
+
|
|
15
|
+
# Build TypeScript
|
|
16
|
+
RUN npm run build
|
|
17
|
+
|
|
18
|
+
# Prune dev dependencies
|
|
19
|
+
RUN npm prune --production
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
FROM node:18-alpine AS runner
|
|
23
|
+
|
|
24
|
+
WORKDIR /app
|
|
25
|
+
# Install runtime dependencies for native modules if needed (usually just glibc/musl compatibility, but better-sqlite3 bundles binaries or needs rebuild.
|
|
26
|
+
# We copy node_modules from builder so native addons should work if arc matches.
|
|
27
|
+
# For cross-platform (building amd64 on arm64 or vice versa), we might need QEMU or specific handling.
|
|
28
|
+
# GitHub Actions runner is likely amd64, RPi is arm64.
|
|
29
|
+
# We rely on docker buildx (multi-arch) in CI.
|
|
30
|
+
|
|
31
|
+
# Copy built artifacts and deps
|
|
32
|
+
COPY --from=builder /app/dist ./dist
|
|
33
|
+
COPY --from=builder /app/node_modules ./node_modules
|
|
34
|
+
COPY --from=builder /app/package.json ./package.json
|
|
35
|
+
|
|
36
|
+
# Environment defaults
|
|
37
|
+
ENV NODE_ENV=production
|
|
38
|
+
ENV PORT=8080
|
|
39
|
+
|
|
40
|
+
EXPOSE 8080
|
|
41
|
+
|
|
42
|
+
# Start server in HTTP mode
|
|
43
|
+
CMD ["node", "dist/index.js", "--http", "--port", "8080"]
|
package/dist/env.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/**
|
|
7
|
+
* Environment Initialization for CyberMem MCP
|
|
8
|
+
* Must be imported first to set side-effect vars.
|
|
9
|
+
*/
|
|
10
|
+
const dotenv_1 = __importDefault(require("dotenv"));
|
|
11
|
+
dotenv_1.default.config();
|
|
12
|
+
process.env.OM_TIER = process.env.OM_TIER || "hybrid";
|
|
13
|
+
process.env.OM_PORT = process.env.OM_PORT || "0";
|
|
14
|
+
process.env.PORT = process.env.PORT || "0";
|