Skip to main content
Glama
SKILL.md2.52 kB
--- name: infrastructure description: Railway deployment, Docker, Postgres, Cloudflare R2. Use when working on Dockerfile, environment variables, or cloud infrastructure setup. --- # Infrastructure Expert Skill for deployment, Docker, and cloud infrastructure. ## When to Use Invoke this skill when working on: - Railway deployment configuration - Dockerfile optimization - Environment variable management - Future database (Postgres) setup - Future blob storage (Cloudflare R2) setup ## Current Stack ### Deployment: Railway - Platform: [Railway](https://railway.app/) - Deployment: Dockerfile-based - Environment variables via Railway dashboard ### Container: Docker - Base image: `python:3.13-slim` - Package manager: uv (fast Python package manager) - Entry point: FastMCP server ### Observability: Logfire - [Pydantic Logfire](https://logfire.pydantic.dev/) - Automatic OpenTelemetry instrumentation - Configure via `LOGFIRE_TOKEN` env var ## Dockerfile Pattern ```dockerfile FROM python:3.13-slim WORKDIR /app # Install uv COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv # Copy dependency files COPY pyproject.toml uv.lock ./ # Install dependencies (cached layer) RUN uv sync --frozen --no-dev # Copy source code COPY src/ ./src/ # Run server CMD ["uv", "run", "python", "-m", "siigo_mcp.server"] ``` ## Environment Variables ### Required - `SIIGO_USERNAME`: Siigo API username - `SIIGO_ACCESS_KEY`: Siigo API access key - `SIIGO_PARTNER_ID`: Partner identifier for API calls ### Optional - `LOGFIRE_TOKEN`: Pydantic Logfire token for observability - `LOG_LEVEL`: Logging level (default: INFO) ## Future Infrastructure ### Database: PostgreSQL - Use case: Caching, session state, audit logs - Railway provides managed Postgres - Connection via `DATABASE_URL` env var ### Blob Storage: Cloudflare R2 - Use case: PDF storage, document archival - S3-compatible API - Credentials: `R2_ACCESS_KEY_ID`, `R2_SECRET_ACCESS_KEY`, `R2_BUCKET` ## Railway Deployment ### Setup 1. Connect GitHub repository 2. Configure environment variables 3. Railway auto-detects Dockerfile 4. Automatic deploys on push to main ### Health Check Add health endpoint for Railway: ```python @mcp.resource("health://status") async def health_check() -> str: return "ok" ``` ## Prompt When invoked, research infrastructure questions and provide: 1. Configuration recommendations 2. Docker or deployment file changes 3. Environment variable requirements 4. Links to relevant platform documentation

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/dsfaccini/siigo-mcp'

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