GitHub - InsForge/InsForge: The all-in-one, open-source backend platform for agentic coding. InsForge gives your coding agent database, auth
The all-in-one, open-source backend platform for agentic coding. ⭐ Help us reach more developers and grow the InsForge community. Star this repo! InsForge The all-in-one, open-source backend platform for agentic coding. InsForge gives your coding agent
社区作者 · zZz
它解决什么问题
The all-in-one, open-source backend platform for agentic coding.
⭐ Help us reach more developers and grow the InsForge community. Star this repo!
InsForge
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.
read-me.mp4
How it works
Coding agents interact with InsForge through one of two interfaces:
- MCP Server (self-hosted and cloud): exposes InsForge's operations as tools any MCP-compatible agent can call.
- CLI + Skills (cloud only): a command-line interface paired with Skills that agents invoke directly from the terminal.
Both interfaces let coding agents operate the backend like backend engineers:
- Read backend context and state : Pull documentation, schemas, metadata (deployed functions, bucket contents, auth config), and runtime logs, so the agent has what it needs to write code, verify what it built, and debug when something breaks.
- Configure primitives : Deploy edge functions, run database migrations, create storage buckets, set up auth providers, and configure other backend resources directly.
graph TB
subgraph TOP[" "] AG[AI Coding Agents] end
subgraph MID[" "] SL[InsForge] end
AG --> SL
SL --> AUTH[Authentication] SL --> DB[Database] SL --> ST[Storage] SL --> EF[Edge Functions] SL --> MG[Model Gateway] SL --> CP[Compute] SL --> DEP[Deployment]
classDef bar fill:#0b0f14,stroke:#30363d,stroke-width:1px,color:#ffffff classDef card fill:#161b22,stroke:#30363d,stroke-width:1px,color:#ffffff
class AG,SL bar class AUTH,DB,ST,EF,MG,CP,DEP card
style TOP fill:transparent,stroke:transparent style MID fill:transparent,stroke:transparent
linkStyle default stroke:#30363d,stroke-width:1px
Loading
Core Products
- Authentication : User management, authentication, and sessions
- Database : Postgres relational database
- Storage : S3-compatible file storage
- Model Gateway : OpenAI-compatible API across multiple LLM providers
- Edge Functions : Serverless code running on the edge
- Compute (private preview): Long-running container services
- Site Deployment : Site build and deployment
⭐️ Star the Repository
If you find InsForge useful or interesting, a GitHub Star ⭐️ would be greatly appreciated.
Quickstart
Cloud-hosted: insforge.dev
Self-hosted
Docker ComposePrerequisites
Docker with Compose v2.- Setup
curl -fsSL https://raw.githubusercontent.com/InsForge/InsForge/main/deploy/setup.sh | sh -s ~ /insforgeFetches the files the stack reads and generates JWT_SECRET , ENCRYPTION_KEY , POSTGRES_PASSWORD , ROOT_ADMIN_PASSWORD , and the two access keys into ~/insforge/.env (mode 600). Nothing is started.
Re-running refreshes the files and keeps every value you have set — it only ever adds COMPOSE_FILE , or points it at this checkout's compose file if it still names the development one.
cd ~ /insforge$EDITOR .env # API_BASE_URL, VITE_API_BASE_URL — the URL browsers will use
docker compose up -d.env sets COMPOSE_FILE , so plain docker compose commands work from that directory — no -f flags to remember.
Building from source instead For working on InsForge itself. docker-compose.prod.yml reads the same variables but generates nothing, so set the secrets in .env yourself before starting anything you expose.
git clone https://github.com/InsForge/InsForge.gitcd InsForgecp .env.example .env$EDITOR .env
docker compose -f docker-compose.prod.yml upSet JWT_SECRET , ENCRYPTION_KEY , POSTGRES_PASSWORD , andROOT_ADMIN_PASSWORD — .env.example ships placeholders for them, and the compose file falls back to published defaults for any you leave unset. Set ACCESS_API_KEY and ACCESS_ANON_KEY too if you want to know your own keys; left empty, the backend generates a pair only it knows.
This path passes -f explicitly, which overrides COMPOSE_FILE . Add overlays as further -f flags rather than editing that variable.
- Connect InsForge MCP
Open http://localhost:7130
Follow the steps to connect InsForge MCP Server.
- Verify installation
To verify the connection, send the following prompt to your agent:
I'm using InsForge as my backend platform, call InsForge MCP's fetch-docs tool to learn about InsForge instructions.
- Running Multiple Projects
Give each project its own directory:
curl -fsSL https://raw.githubusercontent.com/InsForge/InsForge/main/deploy/setup.sh | sh -s ~ /project1curl -fsSL https://raw.githubusercontent.com/InsForge/InsForge/main/deploy/setup.sh | sh -s ~ /project2Then give each a project name and its own ports. Both .env files start with
COMPOSE_PROJECT_NAME=insforge , and two directories sharing that name sharecontainers — the second up -d adopts the first's, rebuilt with the second's config. Set it before starting anything.
~/project1/.env keeps the default ports — which collide with the ~/insforge instance from the quickstart above if it is still running. Stop that one, or give project1 its own ports the way project2 has:
COMPOSE_PROJECT_NAME = project1
~/project2/.env :
COMPOSE_PROJECT_NAME = project2 POSTGRES_PORT = 5442 POSTGREST_PORT = 5440 APP_PORT = 7230 AUTH_PORT = 7231 DENO_PORT = 7233
Now each directory is a separate instance with its own containers, volumes, database, and secrets:
cd ~ /project1 && docker compose up -dcd ~ /project2 && docker compose up -ddocker compose ps , logs -f , and down operate on whichever directory yourun them from.
- Storage Backends (Optional)
InsForge 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).
Append one overlay to COMPOSE_FILE in .env . Bundled MinIO, whose store stays internal to the Docker network:
COMPOSE_FILE = deploy/docker-compose/docker-compose.yml:docker-compose.minio.yml
Or RustFS, an Apache-2.0 licensed alternative:
COMPOSE_FILE = deploy/docker-compose/docker-compose.yml:docker-compose.rustfs.yml
Keep one — the file is read as shell assignments, so a second line replaces the first. Then docker compose up -d as usual.
The overlays ship with default store credentials — set MINIO_ROOT_USER / MINIO_ROOT_PASSWORD (or RUSTFS_ACCESS_KEY / RUSTFS_SECRET_KEY ) in .env before production use.
Or bring your own S3-compatible store (AWS S3, MinIO, RustFS, Wasabi, R2, Tencent COS, Aliyun OSS .) by setting S3_BUCKET , S3_REGION , S3_ACCESS_KEY_ID , S3_SECRET_ACCESS_KEY — plus S3_ENDPOINT_URL for non-AWS providers — in .env .
If the endpoint is not reachable by browsers (private network), also set S3_USE_PRESIGNED_URLS=false to enable proxy mode.
See the self-hosted storage guide for provider notes, presigned vs. proxy mode, and upgrade tips.
One-click Deployment
In addition to running InsForge locally, you can also launch InsForge using a pre-configured setup. This allows you to get up and running quickly with InsForge without installing Docker on your local machine.
Railway Zeabur Sealos RepoCloud
Contributing
Contributing : If you're interested in contributing, you can check our guide here CONTRIBUTING.md . We truly appreciate pull requests, and all types of help are appreciated!
Support : If you need any help or support, we're responsive on our Discord channel , and also feel free to email us [email protected] too!
Documentation & Support
Documentation
- Official Docs - Comprehensive guides and API references
Community
- Discord - Join our vibrant community
- Twitter - Follow for updates and tips
Contact
- Email : [email protected]
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Badges
Show your project is built with InsForge.
Made with InsForge
Markdown:
[ ![ Made with InsForge ] ( https://insforge.dev/badge-made-with-insforge.svg )] ( https://insforge.dev )
HTML:
< a href =" https://insforge.dev " > < img width =" 168 " height =" 30 " src =" https://insforge.dev/badge-made-with-insforge.svg " alt =" Made with InsForge " /> </ a >
Made with InsForge (dark)
Markdown:
[ ![ Made with InsForge ] ( https://insforge.dev/badge-made-with-insforge-dark.svg )] ( https://insforge.dev )
HTML:
< a href =" https://insforge.dev " > < img width =" 168 " height =" 30 " src =" https://insforge.dev/badge-made-with-insforge-dark.svg " alt =" Made with InsForge " /> </ a >
⭐ Star us on GitHub to get notified about new releases!
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
To verify the connection, send the following prompt to your agent: I'm using InsForge as my backend platform, call InsForge MCP's fetch-docs tool to learn about InsForge instructions.
Give each project its own directory:
- Verify installation
- Running Multiple Projects
curl -fsSL https://raw.githubusercontent.com/InsForge/InsForge/main/deploy/setup.sh | sh -s ~ /project1curl -fsSL https://raw.githubusercontent.com/InsForge/InsForge/main/deploy/setup.sh | sh -s ~ /project2Then give each a project name and its own ports. Both .env files start with
COMPOSE_PROJECT_NAME=insforge , and two directories sharing that name sharecontainers — the second up -d adopts the first's, rebuilt with the second's config. Set it before starting anything. ~/project1/.env keeps the default ports — which collide with the ~/insforge instance from the quickstart above if it is still running.
Stop that one, or give project1 its own ports the way project2 has: COMPOSE_PROJECT_NAME = project1 ~/project2/.
env : COMPOSE_PROJECT_NAME = project2 POSTGRES_PORT = 5442 POSTGREST_PORT = 5440 APP_PORT = 7230 AUTH_PORT = 7231 DENO_PORT = 7233 Now each directory is a separate instance with its own containers, volumes, database, and secrets:
cd ~ /project1 && docker compose up -dcd ~ /project2 && docker compose up -ddocker compose ps , logs -f , and down operate on whichever directory yourun them from.
InsForge 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).
Append one overlay to COMPOSE_FILE in .env . Bundled MinIO, whose store stays internal to the Docker network: COMPOSE_FILE = deploy/docker-compose/docker-compose.yml:docker-compose.minio.yml Or RustFS, an Apache-2.
0 licensed alternative: COMPOSE_FILE = deploy/docker-compose/docker-compose.yml:docker-compose.rustfs.yml Keep one — the file is read as shell assignments, so a second line replaces the first. Then docker compose up -d as usual.
The overlays ship with default store credentials — set MINIO_ROOT_USER / MINIO_ROOT_PASSWORD (or RUSTFS_ACCESS_KEY / RUSTFS_SECRET_KEY ) in .env before production use.
Or bring your own S3-compatible store (AWS S3, MinIO, RustFS, Wasabi, R2, Tencent COS, Aliyun OSS .) by setting S3_BUCKET , S3_REGION , S3_ACCESS_KEY_ID , S3_SECRET_ACCESS_KEY — plus S3_ENDPOINT_URL for non-AWS providers — in .env .
If the endpoint is not reachable by browsers (private network), also set S3_USE_PRESIGNED_URLS=false to enable proxy mode. See the self-hosted storage guide for provider notes, presigned vs. proxy mode, and upgrade tips.
One-click Deployment In addition to running InsForge locally, you can also launch InsForge using a pre-configured setup. This allows you to get up and running quickly with InsForge without installing Docker on your local machine.
Railway Zeabur Sealos RepoCloud Contributing Contributing : If you're interested in contributing, you can check our guide here CONTRIBUTING.md . We truly appreciate pull requests, and all types of help are appreciated!
Support : If you need any help or support, we're responsive on our Discord channel , and also feel free to email us [email protected] too! Documentation & Support Documentation
- Storage Backends (Optional)
Community
Contact
License This project is licensed under the Apache License 2.0 - see the LICENSE file for details. Badges Show your project is built with InsForge. Made with InsForge Markdown: [ ![ Made with InsForge ] ( https://insforge.dev/badge-made-with-insforge.
svg )] ( https://insforge.dev ) HTML: < a href =" https://insforge.dev " > < img width =" 168 " height =" 30 " src =" https://insforge.dev/badge-made-with-insforge.svg " alt =" Made with InsForge " /> </ a > Made with InsForge (dark) Markdown: [ !
[ Made with InsForge ] ( https://insforge.dev/badge-made-with-insforge-dark.svg )] ( https://insforge.dev ) HTML: < a href =" https://insforge.dev " > < img width =" 168 " height =" 30 " src =" https://insforge.dev/badge-made-with-insforge-dark.
svg " alt =" Made with InsForge " /> </ a > ⭐ Star us on GitHub to get notified about new releases!
- Official Docs - Comprehensive guides and API references
- Discord - Join our vibrant community
- Twitter - Follow for updates and tips
- Email : [email protected]