npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ollama-admin-proxy

v0.1.0

Published

Reverse proxy + admin UI for Ollama with per-model option overrides, queue, and live metrics

Readme

ollama-admin-proxy

A reverse proxy for Ollama with a built-in admin UI. Run it in front of your local ollama serve to:

  • Override model options (e.g. num_ctx, temperature, num_predict) per model — without changing how clients call you.
  • Strip unwanted options clients send (great for downstream apps that hard-code values you don't want).
  • Queue concurrent requests with a configurable parallelism limit so you don't OOM your GPU.
  • See live metrics — request rate, latency, token throughput, system CPU/RAM/GPU — in a web dashboard.
  • Protect the admin UI with username/password and optionally gate the proxy itself behind API keys.
  • Serve over HTTPS with your own cert/key.

The proxy is transparent: clients keep talking to /api/generate, /api/chat, /api/embed, /api/embeddings as if it were Ollama itself.

Install & run

Requires Node.js 22+.

# one-shot
npx ollama-admin-proxy

# or install globally
npm i -g ollama-admin-proxy
ollama-admin-proxy

On first run the server listens on http://0.0.0.0:11435 and proxies to http://127.0.0.1:11434 (default Ollama). Open the admin UI at http://localhost:11435/ — you'll be prompted to create the first admin user.

Point your Ollama clients at the proxy port instead of 11434 and you're done.

Data location

Runtime data (config, secrets, metrics database, TLS certs) is stored under your home directory:

  • Linux / macOS: ~/.ollama-proxy/
  • Windows: C:\Users\<you>\.ollama-proxy\

Files inside:

| File | Purpose | |---|---| | config.json | Port, host, parallelism, per-model rules, retention, etc. Edited via the admin UI; safe to edit by hand if the server is stopped. | | secrets.json | Cookie signing secret, hashed admin passwords, hashed API keys. Do not share. | | metrics.sqlite | Rolling request + system metrics. Pruned on the schedule set in config.json (metricsRetentionHours, default 24h). | | certs/ | Default location for HTTPS cert/key files (referenced from config.json). |

Override the location with OLLAMA_PROXY_DATA_DIR:

OLLAMA_PROXY_DATA_DIR=/var/lib/ollama-proxy ollama-admin-proxy

Configuration

Most settings are configured live via the admin UI, including:

  • Listen port and host
  • Upstream Ollama URL
  • HTTPS (enable + cert/key paths)
  • Concurrency (parallel)
  • Per-model rules: ignore (drop these option keys from incoming requests) and overwrite (force these option values)
  • Metrics retention window
  • API keys (enable + create/revoke)

Changes take effect immediately; network changes (port/host/HTTPS) trigger an automatic listener restart.

Endpoints

| Path | Purpose | |---|---| | /api/* | Proxy to upstream Ollama (filtered to proxiedEndpoints in config). | | /admin/api/* | Admin REST API (session-cookie auth). | | /socket.io/* | Live metrics push to the admin UI. | | / | Admin UI (single-page app). |

Security notes

  • The first request to the admin UI sets up the initial admin user. Lock down access (firewall, reverse proxy, or HTTPS) before exposing the server beyond localhost.
  • API keys, when enabled, gate /api/*. They are stored hashed in secrets.json; the plaintext is shown once at creation time.
  • Run as a non-privileged user. The default port (11435) does not require root.

License

MIT — see LICENSE.