{"data":{"slug":"insforge-insforge","name":"InsForge","tagline":"All-in-one open-source backend platform for agentic coding","github_url":"https://github.com/InsForge/InsForge","owner":"InsForge","repo":"InsForge","owner_avatar_url":"https://avatars.githubusercontent.com/u/198419463?v=4","primary_language":"TypeScript","stars":12754,"forks":1149,"topics":["ai","ai-agents","coding","deno","embeddings","insforge","nextjs","oauth2","pgvector","postgresql","realtime","vectors","websockets"],"archived":false,"github_pushed_at":"2026-08-20T02:28:48+00:00","maintenance_label":"Very active","stars_delta_30d":366,"url":"https://www.graphcanon.com/tools/insforge-insforge","markdown_url":"https://www.graphcanon.com/tools/insforge-insforge.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/insforge-insforge","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=insforge-insforge","description":"The all-in-one, open-source backend platform for agentic coding. InsForge gives your coding agent database, auth, storage, compute, hosting, and AI gateway to ship full-stack apps end-to-end.","homepage_url":"https://insforge.dev","license":"Apache-2.0","open_issues":137,"watchers":35,"ai_summary":"InsForge provides a comprehensive backend infrastructure, including database, authentication, storage, compute resources, hosting, and an AI gateway to facilitate the full-stack development of applications using AI agents.","readme_excerpt":"### Self-hosted: Docker Compose\n\nPrerequisites: [Docker](https://www.docker.com/) with Compose v2.\n\n#### 1. Setup\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/InsForge/InsForge/main/deploy/setup.sh | sh -s ~/insforge\n```\n\nFetches the files the stack reads and generates `JWT_SECRET`, `ENCRYPTION_KEY`,\n`POSTGRES_PASSWORD`, `ROOT_ADMIN_PASSWORD`, and the two access keys into\n`~/insforge/.env` (mode 600). Nothing is started. Re-running refreshes the files\nand keeps every value you have set — it only ever adds `COMPOSE_FILE`, or points\nit at this checkout's compose file if it still names the development one.\n\n```bash\ncd ~/insforge\n$EDITOR .env          # API_BASE_URL, VITE_API_BASE_URL — the URL browsers will use\ndocker compose up -d\n```\n\n`.env` sets `COMPOSE_FILE`, so plain `docker compose` commands work from that\ndirectory — no `-f` flags to remember.\n\n[![Deploy on Docker][docker-btn]][docker-deploy]\n\n<details>\n<summary>Building from source instead</summary>\n\nFor working on InsForge itself. `docker-compose.prod.yml` reads the same\nvariables but generates nothing, so set the secrets in `.env` yourself before\nstarting anything you expose.\n\n```bash\ngit clone https://github.com/InsForge/InsForge.git\ncd InsForge\ncp .env.example .env\n$EDITOR .env\ndocker compose -f docker-compose.prod.yml up\n```\n\nSet `JWT_SECRET`, `ENCRYPTION_KEY`, `POSTGRES_PASSWORD`, and\n`ROOT_ADMIN_PASSWORD` — `.env.example` ships placeholders for them, and the\ncompose file falls back to published defaults for any you leave unset. Set\n`ACCESS_API_KEY` and `ACCESS_ANON_KEY` too if you want to know your own keys;\nleft empty, the backend generates a pair only it knows.\n\nThis path passes `-f` explicitly, which overrides `COMPOSE_FILE`. Add overlays as\nfurther `-f` flags rather than editing that variable.\n\n</details>\n\n#### 2. Connect InsForge MCP\n\nOpen [http://localhost:7130](http://localhost:7130)\n\nFollow the steps to connect InsForge MCP Server\n\n<div align=\"center\">\n<img src=\"assets/connect.png\" alt=\"Connect InsForge MCP\" width=\"600\">\n</div>\n\n#### 3. Verify installation\n\nTo verify the connection, send the following prompt to your agent:\n```\nI'm using InsForge as my backend platform, call InsForge MCP's fetch-docs tool to learn about InsForge instructions.\n```\n\n#### 4. Running Multiple Projects\n\nGive each project its own directory:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/InsForge/InsForge/main/deploy/setup.sh | sh -s ~/project1\ncurl -fsSL https://raw.githubusercontent.com/InsForge/InsForge/main/deploy/setup.sh | sh -s ~/project2\n```\n\nThen give each a project name and its own ports. Both `.env` files start with\n`COMPOSE_PROJECT_NAME=insforge`, and **two directories sharing that name share\ncontainers** — the second `up -d` adopts the first's, rebuilt with the second's\nconfig. Set it before starting anything.\n\n`~/project1/.env` keeps the default ports — which collide with the `~/insforge`\ninstance from the quickstart above if it is still running. Stop that one, or give\n`project1` its own ports the way `project2` has:\n\n```env\nCOMPOSE_PROJECT_NAME=project1\n```\n\n`~/project2/.env`:\n\n```env\nCOMPOSE_PROJECT_NAME=project2\nPOSTGRES_PORT=5442\nPOSTGREST_PORT=5440\nAPP_PORT=7230\nAUTH_PORT=7231\nDENO_PORT=7233\n```\n\nNow each directory is a separate instance with its own containers, volumes,\ndatabase, and secrets:\n\n```bash\ncd ~/project1 && docker compose up -d\ncd ~/project2 && docker compose up -d\n```\n\n`docker compose ps`, `logs -f`, and `down` operate on whichever directory you\nrun them from.\n\n#### 5. Storage Backends (Optional)\n\nInsForge stores files on the local filesystem by default. Backing storage with an S3-compatible store also enables the S3-compatible gateway at `/storage/v1/s3` (use `aws` CLI, rclone, or any AWS SDK against your InsForge Storage).\n\nAppend one overlay to `COMPOSE_FILE` in `.env`. Bundled MinIO, whose store stays\ninternal to the Docker network:\n\n```env\nCOMPOSE_FILE=deploy/docker-compose/docker-compose.yml:docker-compose.minio.yml\n```\n\nOr Rus","github_created_at":"2025-07-29T05:56:00+00:00","created_at":"2026-07-07T17:41:11.286116+00:00","updated_at":"2026-08-20T06:00:57.219643+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"data-retrieval","name":"Data & Retrieval","url":"https://www.graphcanon.com/categories/data-retrieval","markdown_url":"https://www.graphcanon.com/categories/data-retrieval.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/data-retrieval"}],"tags":[{"slug":"ai-agents","name":"ai-agents"},{"slug":"deno","name":"deno"},{"slug":"embeddings","name":"embeddings"},{"slug":"nextjs","name":"nextjs"},{"slug":"oauth2","name":"oauth2"},{"slug":"pgvector","name":"pgvector"},{"slug":"postgresql","name":"postgresql"},{"slug":"websockets","name":"websockets"}],"trust":{"provenance":{"is_fork":false,"github_id":1028159967,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-20T06:00:56.191Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":15,"days_since_push":0,"last_release_at":"2026-08-12T03:47:15Z","stars_delta_30d":366,"open_issues_delta_30d":34},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:18:29.763Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"mcp":{"source":"repo_scan","observed_at":"2026-08-20T06:00:56.649Z","server_manifest":false},"scan":{"source":"repo_scan","observed_at":"2026-08-20T06:00:56.649Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-08-20T06:00:56.649Z","managed_saas":false},"has_cli":{"value":true,"source":"package.json:bin|scripts","observed_at":"2026-08-20T06:00:56.649Z"},"languages":{"value":["typescript","javascript"],"source":"github.language+package.json","observed_at":"2026-08-20T06:00:56.649Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-08-20T06:00:56.649Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-08-20T06:00:56.649Z"}},"decision_facts":{"hosting":null,"pricing":{"model":"freemium","summary":"As an open-source platform under the Apache-2.0 license, InsForge is available freely for anyone to use, modify, and distribute without direct costs."},"requirements":{"notes":["Requires Docker for self-hosted deployment.","Node.js needed for running locally from source."],"min_ram_gb":4,"requires_docker":true},"constraints":{"min_ram_gb":4,"pricing_model":"freemium","requires_docker":true},"when_to_use":["Use InsForge when your application requires an integrated stack, including database management, authentication services, storage solutions, and compute resources optimized for both traditional and AI-","agent-based workflows. Especially beneficial if you're working in TypeScript.","If you need a reliable AI gateway within your project to enable seamless integration of various AI models or services, InsForge offers a dedicated feature for this purpose."],"when_not_to_use":["Avoid using InsForge if your development framework heavily relies on languages other than TypeScript as it's primarily built around the TypeScript ecosystem.","Do not choose InsForge if your project needs a lightweight solution without the overhead of an all-in-one backend platform. It may introduce unnecessary complexity and resource consumption."],"source":"enrich:decision_facts","observed_at":"2026-07-11T15:31:18.542Z"},"constraint_facets":{"min_ram_gb":4,"pricing_model":"freemium","requires_docker":true},"decision_summary":[{"label":"Pricing","value":"freemium - As an open-source platform under the Apache-2.0 license, InsForge is available freely for anyone to use, modify, and distribute without direct costs."},{"label":"Requirements","value":"Min 4 GB RAM; Requires Docker; Requires Docker for self-hosted deployment.; Node.js needed for running locally from source."},{"label":"Adopt for","value":"InsForge is a comprehensive open-source backend platform built for developers wanting to deploy full-stack applications that include AI agents using agentic coding techniques."},{"label":"License detail","value":"InsForge is distributed under the Apache-2.0 License, allowing for free use in both open-source and commercial applications with proper attribution."}]}}