Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
node_modules
npm-debug.log
dist
coverage
.env
.DS_Store
.git
.gitignore
*.md
.omc/
.plans/
scripts/
docs/
.github/
planning/
21 changes: 21 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Server Mode (stdio | http | both)
# - stdio: For Claude Desktop integration (default)
# - http: For HTTP server mode (web clients)
# - both: Run both transports simultaneously
SERVER_MODE=http

# HTTP Server Configuration
HTTP_PORT=3000
HTTP_HOST=0.0.0.0

# Rate Limiting (per IP address)
RATE_LIMIT_PER_MINUTE=10
RATE_LIMIT_PER_DAY=250

# Request Configuration
REQUEST_TIMEOUT_MS=30000
MAX_RETRIES=3
RETRY_BASE_DELAY_MS=1000

# Logging
LOG_LEVEL=info
2 changes: 2 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# NPM configuration
# If using a private registry, set NPM_TOKEN as environment variable during build
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ external_api_spec/*
long_cache/
ignore.js
.claude/
.omc/
yaak/
29 changes: 29 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
FROM node:22.22.0-alpine AS builder

RUN npm install -g npm@11.7.0

WORKDIR /app

COPY package*.json .npmrc ./
ARG NPM_TOKEN
RUN npm ci --ignore-scripts && rm -f .npmrc
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

COPY tsconfig.json tsconfig.docker.json ./
COPY src ./src
RUN npx tsc --project tsconfig.docker.json

FROM node:22.22.0-alpine

RUN npm install -g npm@11.7.0

WORKDIR /app

COPY package*.json .npmrc ./
ARG NPM_TOKEN
RUN npm ci --omit=dev --ignore-scripts && rm -f .npmrc

COPY --from=builder /app/dist ./dist

USER node

CMD ["node", "dist/index.js"]
Loading