Skip to main content
Glama
Dockerfile998 B
# Build stage FROM node:24-alpine AS builder WORKDIR /app # Copy package files COPY package*.json ./ # Install dependencies RUN npm ci # Copy source code COPY tsconfig.json ./ COPY src ./src # Build TypeScript RUN npm run build # Production stage FROM node:24-alpine AS runner WORKDIR /app # Create non-root user for security RUN addgroup --system --gid 1001 nodejs && \ adduser --system --uid 1001 mcp # Copy built files and production dependencies COPY --from=builder /app/dist ./dist COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app/package.json ./ # Set ownership RUN chown -R mcp:nodejs /app # Switch to non-root user USER mcp # Expose default port EXPOSE 8080 # Health check HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:8080/health || exit 1 # Set default environment ENV NODE_ENV=production ENV PORT=8080 # Entry point ENTRYPOINT ["node", "dist/index.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/procoders/openapi-mcp-ts'

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