Skip to content
PonupPublic

About

Open-source context engineering and content management for humans and AI. Organize content in Spaces, search it semantically, and share it with people and agents through a web app, REST, GraphQL, MCP, and public links.

Topics

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Ponup

Unifying content management and context engineering for humans, AI, and agents.

YouTube X LinkedIn Facebook

Run the open-source edition on your own infrastructure or use Ponup Cloud for a managed service.

Ponup stores authored and uploaded content in Spaces, makes it searchable, and serves it to people and agents through a web app, REST, GraphQL, MCP, and public links.

Documentation

Comprehensive documentation, tutorials, and configuration guides are available at https://docs.ponup.com.

Quick start

docker compose up --build

Open http://localhost:3000. API documentation is available at http://localhost:8000/docs, GraphQL at http://localhost:8000/graphql, and Streamable HTTP MCP at http://localhost:8000/mcp.

Copy .env.example to .env only when you want to override the Compose defaults. The first startup downloads the local embedding model. Set EMBEDDING_PROVIDER=openai-compatible and the corresponding variables in .env to use a compatible hosted endpoint instead.

Generate content automatically

The New Content modal can draft Markdown or JSON from its title, description, and tags. Configure any OpenAI-compatible chat-completions provider on the server; credentials never reach the browser. For example, use Ollama with LLM_BASE_URL=http://host.docker.internal:11434/v1 and LLM_MODEL=llama3.2, or set LLM_BASE_URL, LLM_API_KEY, and LLM_MODEL for OpenAI, OpenRouter, or another compatible provider. When running the API outside Docker, an Ollama URL is usually http://localhost:11434/v1. On Linux Docker hosts, Ponup's Compose configuration maps host.docker.internal to the host gateway automatically.

Development

The backend uses Python 3.12, FastAPI, SQLAlchemy, PostgreSQL/pgvector, Celery, and uv. The frontend uses React, TypeScript, Vite, and pnpm.

make dev           # start the Docker Compose stack (imports the Keycloak Ponup realm)
make test          # backend and frontend tests in containers
make migrate       # apply database migrations
make seed          # create a demo Space and Content

Administrative routes (/api, /graphql) require Keycloak SSO login. Do not expose them, database ports, or Keycloak (8080) to an untrusted network. Only /p and /public are designed as public surfaces.

Markdown, plain text, JSON, and PDF sources are extracted, chunked, embedded, and stored in PostgreSQL. Processing is asynchronous and reported as queued, processing, ready, or failed.

Support the project

If you find Ponup useful, please consider giving it a star on GitHub ⭐. Starring helps support the project and ensures you receive notifications about new releases and updates!

License

Ponup is open-source software licensed under the MIT License.

About

Open-source context engineering and content management for humans and AI. Organize content in Spaces, search it semantically, and share it with people and agents through a web app, REST, GraphQL, MCP, and public links.

Topics

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages