N
.github
chore: move to Node 26 (#4295)
.husky
rework: change backend and backend extensions to use simpler code structure and patterns (#2815)
caddy
Replaced Nginx with Caddy (#3378)
doc
fix(auth): support recovery codes when disabling two-factor auth (#4374)
extensions
perf(thumbnails): keep read URLs stable within an hour (#4379)
src
GUI for custom domains (#4355)
tools
refactor: make teams an optional feature (#4248)
.dockerignore
selfhost: fullstack self host p1 (#2902)
.env.example
self hosted mail (#3932)
.gitattributes
Initial commit
.gitignore
ci: shard backend tests and share workers across server-booting files (#4149)
.gitmodules
Remove gross legacy tools and docs (#2873)
.npmrc
ci: drop support and testing for node 18
.prettierignore
rework: change backend and backend extensions to use simpler code structure and patterns (#2815)
.prettierrc.json
chore: cleanup AI module for puter-js (#3423)
AGENTS.md
docs: medium events recipes (PUT-1971) (#4333)
BUG-BOUNTY.md
docs(bug-bounty): add eligibility rules (#4269)
CLAUDE.md
feat: add whatsapp support? (#3356)
config.default.json
fix: team seats caps (#4141)
config.template.jsonc
feat(ai): MiniMax video generation (H3 and Hailuo) (#4309)
CONTRIBUTING.md
docs: tighten contributor and architecture guides (#4194)
docker-compose.yml
self hosted mail (#3932)
Dockerfile
chore: move to Node 26 (#4295)
eslint.config.js
Remove gross legacy tools and docs (#2873)
install.ps1
Replaced Nginx with Caddy (#3378)
install.sh
fix: restrict openai and anthropic compatible endpoints to be subscription (#3583)
LICENSE.txt
Initial commit
package-lock.json
chore(deps): bump smtp-server from 3.19.23 to 3.19.24 (#4383)
package.json
chore(deps): bump libphonenumber-js from 1.13.14 to 1.13.15 (#4239)
README.md
Add link to AI Builder in README (#3946)
rust-toolchain.toml
feat: v86 9p server support
SECURITY-ACKNOWLEDGEMENTS.md
Add Ritesh Sahu to SECURITY-ACKNOWLEDGEMENTS.md
SECURITY.md
Update SECURITY.md to use the warning tag in the markdown
TRADEMARK.md
Update TRADEMARK.md
tsconfig.build.json
fix: rate limits, AI routing, and a type-check gate (#3529)
tsconfig.json
fix: bring back old app names functionality and fix build (#2937)

The Open-Source Internet Computer!

« LIVE DEMO »

Puter.com · App Store · AI Builder · Developers · X


Puter

Puter is an advanced, open-source, self-hostable internet computer designed to be feature-rich, fast, and highly extensible.

For Users

Puter's goal is to provide you with every app and feature you need to work, create, and play under one roof. From a simple Notepad and Voice Recorder to Spreadsheet and Camera, Puter wants to be the all-in-one solution for your digital life.

For Developers

Puter provides everything you need to build and publish web apps and games. From AI to Cloud Storage and Database to Serverless Workers, Puter has you covered. Puter also helps you get users! Once you build your app, you can publish it on our App Store to reach and monetize users.


Getting Started

💻 Local Development

git clone https://github.com/HeyPuter/puter
cd puter
npm install
npm start

→ This should launch Puter at http://puter.localhost:4100

To run this checkout with Docker, follow Building from source. Create a local docker-compose.override.yml to select the local build; keeping these settings out of docker-compose.yml avoids conflicts when pulling updates and keeps local configuration out of pull requests.


🚀 Self-Hosting

Linux/macOS

curl -fsSL https://puter.com/selfhost | sh

Windows

irm https://puter.com/selfhost?os=windows | iex

→ For more details, see Self-Hosting Puter.


☁️ Puter.com

Puter is available as a hosted service at puter.com.


Support

Connect with the maintainers and community through these channels:

We are always happy to help you with any questions you may have. Don't hesitate to ask!


License

This repository, including all its contents, sub-projects, modules, and components, is licensed under AGPL-3.0 unless explicitly stated otherwise. Third-party libraries included in this repository may be subject to their own licenses.


Translations