{"id":30847066,"url":"https://github.com/premai-io/premrunner","last_synced_at":"2025-09-07T01:44:06.840Z","repository":{"id":312048455,"uuid":"1045868913","full_name":"premAI-io/PremRunner","owner":"premAI-io","description":"run models easily","archived":false,"fork":false,"pushed_at":"2025-08-28T12:19:10.000Z","size":156,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-28T14:05:02.923Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/premAI-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-27T20:44:39.000Z","updated_at":"2025-08-28T12:19:14.000Z","dependencies_parsed_at":"2025-09-02T12:18:23.902Z","dependency_job_id":null,"html_url":"https://github.com/premAI-io/PremRunner","commit_stats":null,"previous_names":["premai-io/premrunner"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/premAI-io/PremRunner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premAI-io%2FPremRunner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premAI-io%2FPremRunner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premAI-io%2FPremRunner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premAI-io%2FPremRunner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/premAI-io","download_url":"https://codeload.github.com/premAI-io/PremRunner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/premAI-io%2FPremRunner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273986608,"owners_count":25202706,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-09-07T01:44:03.919Z","updated_at":"2025-09-07T01:44:06.824Z","avatar_url":"https://github.com/premAI-io.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PremRunner\n\nA web application and API that wraps Ollama to enable browser-based model uploads and interactions. Compatible with Prem SDK.\n\n## System Requirements\n\n- **macOS** (Apple Silicon or Intel)\n- **Ubuntu** (20.04 or later)\n\n## Prerequisites\n\nBefore running PremRunner, you need to install the following:\n\n### 1. Install Bun\n\n```bash\n# macOS/Ubuntu\ncurl -fsSL https://bun.sh/install | bash\n```\n\n### 2. Install Node.js (required for database migrations)\n\n```bash\n# macOS\nbrew install node\n\n# Ubuntu\ncurl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -\nsudo apt-get install -y nodejs\n```\n\n### 3. Install Ollama\n\n```bash\n# macOS\nbrew install ollama\n\n# Ubuntu\ncurl -fsSL https://ollama.com/install.sh | sh\n```\n\n### 4. Install unzip (if not already installed)\n\n```bash\n# macOS (usually pre-installed)\n# If needed: brew install unzip\n\n# Ubuntu\nsudo apt-get install unzip\n```\n\n## Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/premAI-io/PremRunner.git\ncd PremRunner\n```\n\n2. Install dependencies:\n\n```bash\nbun install\n```\n\n3. Set up environment variables:\n\n```bash\n# Create a .env file with:\nDATA_PATH=/path/to/your/data  # Where to store uploads, models, and database\nAUTH_TOKEN=your-secret-token-here  # Authentication token (minimum 10 characters)\n\n# Example:\n# DATA_PATH=./premrunner-data\n# AUTH_TOKEN=my-secure-token-12345\n```\n\nThe AUTH_TOKEN can be any string with at least 10 characters. For better security, use a longer random string.\n\n## Running the Application\n\nStart the server:\n\n```bash\nbun start\n```\n\nThis command will:\n\n1. Push database schema changes\n2. Create the DATA_PATH directory and subdirectories if they don't exist\n3. Start Ollama automatically if it's not running\n4. Launch the web server on http://localhost:3001\n\nFor development with hot reload:\n\n```bash\nbun run dev\n```\n\n## Usage\n\nOnce running, navigate to http://localhost:3001 in your browser to:\n\n- Chat with models via the Chat interface\n- Upload and manage custom models\n- View API usage traces\n\nThe API is OpenAI-compatible and accessible at:\n\n- `POST /v1/chat/completions` - Chat completions endpoint\n- `GET /v1/models` - List available models\n- `POST /v1/models/upload` - Upload new models\n\n## Troubleshooting\n\n### Database Migration Errors\n\nIf you encounter errors when running `bun start` related to drizzle-kit or better-sqlite3:\n\n1. **Ensure Node.js is installed** (drizzle-kit requires Node.js):\n```bash\nnode --version  # Should show v18 or higher\n```\n\nIf Node.js is missing or outdated, install it as shown in the prerequisites.\n\n2. **Clean and reinstall if needed:**\n```bash\nrm -rf node_modules bun.lockb\nbun install\n```\n\n## Features\n\n- Upload custom models with drag and drop in the browser\n- Call models from the browser\n- Use Prem sdk to interact with the models\n\nTech stack:\n\n- Bun\n- db: Native bun sqlite + drizzle\n- react supported natively by bun (no build process)\n- tailwindcss (from cdn for now build step)\n- ollama\n\nThe client will be a SPA that interact with the api only using hono client (import { hc } from 'hono/client').\n\nThis needs to be extremely easy to use, just run a single binary in any server. So we'll use bun to build the binary.\nhttps://bun.com/docs/bundler/executables\n\nhttps://hono.dev/llms-full.txt\n\nin testForOllama.ts I put a test script that checks if ollama is running and if not it starts it and waits for it to be ready, We will need to be working both on mac and linux.\n\nThe MVP is: website that allows to chat with a model, upload models and see all the active models in a list. Also the API needs to be compatible with Prem sdk (in premSaaSRelevantCode there is the interface that we need to mimic here but can't rely on the proxy gateway, we need to use the ollama api directly)\n\n(test change ownership)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpremai-io%2Fpremrunner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpremai-io%2Fpremrunner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpremai-io%2Fpremrunner/lists"}