Sharing Ollama Models

Sign in, namespace a custom model under your username, and push it so a team can pull it.

TL;DR

  1. Sign in first with ollama signin to push models.
  2. Prefix a model with your username, like you/model.
  3. Publish a custom model to the registry with ollama push.

Authenticate

    ollama signin

    Sign in to your ollama.com account from the CLI.

    ollama signin
    Public Key

    Add this key to your account before pushing.

    cat ~/.ollama/id_ed25519.pub
    ollama signout

    Sign the CLI out of your account.

    ollama signout

Name For Your Namespace

    username/model

    Prefix the model name with your account username.

    # Name pattern: <username>/<model>
    Tag A Copy

    Copy a local model into your namespace name.

    ollama cp sql-tutor you/sql-tutor
    Add A Version

    Append a tag to version your shared model.

    ollama cp sql-tutor you/sql-tutor:v1

Push And Pull

    ollama push

    Upload the namespaced model to the registry.

    ollama push you/sql-tutor
    Share The Pull

    Teammates download it by its full name.

    ollama pull you/sql-tutor
    Run Shared

    Run the pulled model like any local one.

    ollama run you/sql-tutor

Private Registries

    ollama login

    Authenticate to a private registry by host.

    ollama login registry.internal:5000
    Namespaced Host

    Push to a self-hosted registry by full path.

    ollama push registry.internal:5000/team/bot
    Team Sharing

    A shared account namespace distributes to a team.

    # Push under a shared team account name

Tips

  1. Sign in once with ollama signin; it stores an Ed25519 key, so later pushes and private pulls sign themselves automatically.
  2. Copy a model into your namespace with ollama cp before pushing, so its name matches your username/model account path.

Warnings

  1. A push fails until the public key at ~/.ollama/id_ed25519.pub is added to your ollama.com account settings.
  2. The namespace must equal your Ollama username; pushing to a namespace you do not own returns an unauthorized error.

In Practice

FAQ