Self-Hosting
skills.md can run entirely on infrastructure you control. Self-hosting gives your company a private catalog, private skills, and full ownership of run data, while keeping the same CLI, MCP server, and agent integrations.
What you run
A self-hosted deployment is the same server that powers the managed service:
- The HTTP server that serves the dashboard and the REST API.
- A PostgreSQL database as the source of truth (tenants, skills, runs, billing).
- Object storage for run artifacts.
- A runner that executes skill runs.
Requirements
- A container host (any platform that can run the published Docker image).
- A PostgreSQL 15+ database, reachable from the server.
- Object storage (S3-compatible) for artifacts.
- A public hostname you control, for example
https://your-server.example.
Configure
Point the server at your database and storage with environment variables:
DATABASE_URL=postgres://DB_USER:DB_PASSWORD@db.your-server.example:5432/platform_skills PUBLIC_URL=https://your-server.example ARTIFACT_BUCKET=your-artifacts-bucket
When DATABASE_URL is set the server automatically mounts the platform API at /api/v1/* and /api/auth/* and applies row-level security for tenant isolation.
Point agents at your server
Once your deployment is reachable, configure the CLI and agents to use it instead of the managed endpoint:
skills config set api-url https://your-server.example skills auth login
MCP hosts and other agents use the same base URL, so no per-agent changes are required beyond the endpoint.
Support
For a guided rollout, private skills onboarding, or an enterprise agreement, contact support@skills.md.