Aucune description

KernelDeimos 92b3f4ff76 Default user random pass, sqlite query patches il y a 1 an
.github 3f27608850 Add a script to check our translation files are valid il y a 1 an
doc a8a03d3f87 Add some config documentation il y a 1 an
incubator d5ef139db0 Add checklists for x86 emulation project il y a 1 an
packages 92b3f4ff76 Default user random pass, sqlite query patches il y a 1 an
src 14996439a0 Update pt.js il y a 1 an
tools 3f27608850 Add a script to check our translation files are valid il y a 1 an
volatile 384a1534ec Release backend il y a 1 an
.dockerignore 3543adfdee Update Dockerfile il y a 1 an
.env.example 06fc54b18e Implement .env support for PORT property il y a 1 an
.gitattributes fa42b0871e Initial commit il y a 1 an
.gitignore 06fc54b18e Implement .env support for PORT property il y a 1 an
.is_puter_repository 384a1534ec Release backend il y a 1 an
CONTRIBUTING.md 384a1534ec Release backend il y a 1 an
Dockerfile 5eebc9a5de Update ports for repo docker il y a 1 an
LICENSE.txt fa42b0871e Initial commit il y a 1 an
README.md 1cdda3dda8 Document default user il y a 1 an
SECURITY-ACKNOWLEDGEMENTS.md 0e13c8631f Update SECURITY-ACKNOWLEDGEMENTS.md to add Tim's GitHub il y a 1 an
SECURITY.md 5acdf8d2fe Create SECURITY.md il y a 1 an
build.js 5f18032737 Migrate to JavaScript modules il y a 1 an
dev-server.js 5f18032737 Migrate to JavaScript modules il y a 1 an
docker-compose.yml 5eebc9a5de Update ports for repo docker il y a 1 an
exports.js 384a1534ec Release backend il y a 1 an
l_checker_config.json 384a1534ec Release backend il y a 1 an
package-lock.json 4845bd28a1 Create default user il y a 1 an
package.json 384a1534ec Release backend il y a 1 an
puter-gui.json 384a1534ec Release backend il y a 1 an
run-selfhosted.js 384a1534ec Release backend il y a 1 an
utils.js 5f18032737 Migrate to JavaScript modules il y a 1 an

README.md

The Internet OS! Free, Open-Source, and Self-Hostable!

« LIVE DEMO »

Puter.com · SDK · Discord · Reddit · X (Twitter)

screenshot


Puter

Puter is an advanced, open-source internet operating system designed to be feature-rich, exceptionally fast, and highly extensible. It can be used to build remote desktop environments or serve as an interface for cloud storage services, remote servers, web hosting platforms, and more.


Getting Started

Local Development

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

This will launch Puter at http://localhost:4000 (or the next available port).


Using Docker

git clone https://github.com/HeyPuter/puter
cd puter
docker compose up


See Configuration for next steps.


⚠️ Self-Hosting ⚠️

The self-hosted version of Puter is currently in alpha stage and should not be used in production yet. It is under active development and may contain bugs, other issues. Please exercise caution and use it for testing and evaluation purposes only.

Configuration

Running the server will generate a configuration file at volatile/config/config.json.

Domain Name

To access Puter on your device, you can simply go to the address printed in the server console (usually puter.localhost:4100).

To access Puter from another device, a domain name must be configured, as well as an api subdomain. For example, example.local might be the domain name pointing to the IP address of the server running puter, and api.example.com must point to this address as well. This domain must be specified in the configuration file (usually volatile/config/config.json) as well.

See domain configuration for more information.

Default User

By default, Puter will create a user called default_user with the password changeme. A warning will persist in the dev console until this user's password is changed. Please login to this user and change the password as your first step. This user by default has 10GB storage instead of the default (500MB storage) for new/temporary users.


FAQ

❓ What's the use case for Puter?

Puter can be used as:

  • An alternative to Dropbox, Google Drive, OneDrive, etc. with a fresh interface and powerful features.
  • Remote desktop environment for servers and workstations.
  • A platform for building and hosting websites, web apps, and games.
  • A friendly, open-source project and community to learn about web development, cloud computing, distributed systems, and much more!


❓ Why isn't Puter built with React, Angular, Vue, etc.?

For performance reasons, Puter is built with vanilla JavaScript and jQuery. Additionally, we'd like to avoid complex abstractions and to remain in control of the entire stack, as much as possible.

Also partly inspired by some of our favorite projects that are not built with frameworks: VSCode, Photopea, and OnlyOffice.


❓ Why jQuery?

Puter interacts directly with the DOM and jQuery provides an elegant yet powerful API to manipulate the DOM, handle events, and much more. It's also fast, mature, and battle-tested.


#DoesItRunPuter


Credits

The default wallpaper is created by Milad Fakurian and published on Unsplash.

Icons by Papirus under GPL-3.0 license.

Icons by Iconoir under MIT license.

Icons by Elementary Icons under GPL-3.0 license.

Icons by Tabler Icons under MIT license.

Icons by bootstrap-icons under MIT license.