Skip to main content
Glama
Dockerfile-UI1.22 kB
# Add specific sha FROM node:22.16-alpine3.21 AS base ENV LOG_LEVEL="info" ENV MCPX_SERVER_URL="http://host.docker.internal:9000" # Set working directory WORKDIR /app # Copy package files COPY package.json ./ COPY packages/ui/ ./packages/ui/ COPY packages/shared-model/ ./packages/shared-model/ COPY packages/webserver/ ./packages/webserver/ COPY packages/toolkit-core ./packages/toolkit-core # Install dependencies RUN npm run build:deps && npm install # Production stage FROM node:22.16-alpine3.21 AS production # Install dumb-init for proper signal handling RUN apk add --no-cache dumb-init # Create non-root user RUN addgroup -g 1001 -S nodejs && \ adduser -S mcpx -u 1001 # Set working directory WORKDIR /app # Copy built application from base stage COPY --from=base --chown=mcpx:nodejs /app . # Switch to non-root user USER mcpx # Expose ports EXPOSE 9000 9001 5173 # Health check #HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \ # CMD curl -f http://localhost:9001/health || exit 1 # Use dumb-init to handle signals properly ENTRYPOINT ["dumb-init", "--"] # Start all services (webserver, ui, and mcpx) CMD ["sh", "-c", "npm run start:webserver & npm run start:ui & wait"]

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/TheLunarCompany/lunar'

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