Skip to main content
Glama
Dockerfile•962 B
# Multi-stage build for smaller image size FROM node:20-alpine AS builder WORKDIR /app # Copy package files COPY package*.json ./ # Install dependencies RUN npm ci # Copy source code COPY . . # Build TypeScript RUN npm run build # Production stage FROM node:20-alpine WORKDIR /app # Install git (required for simple-git) RUN apk add --no-cache git # Copy package files and install production dependencies only COPY package*.json ./ RUN npm ci --only=production # Copy built files from builder COPY --from=builder /app/dist ./dist # Create vault directory RUN mkdir -p /app/vault # Set environment ENV NODE_ENV=production # Expose port EXPOSE 3000 # Health check HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD node -e "require('http').get('http://localhost:3000/health', (r) => { process.exit(r.statusCode === 200 ? 0 : 1); })" # Start HTTP server by default (for VPS deployment) CMD ["node", "dist/server-http.js"]

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/townofnolan/obsidian-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server