- Create multi-stage Dockerfile with Node.js 23.9-alpine - Add CloudronManifest.json with PostgreSQL and localstorage addons - Create .dockerignore to exclude Cloudron package files - Include README.md with comprehensive Internet OS documentation - Add .env.example for environment configuration - Add CHANGELOG.md for version tracking - Add logo.png (Puter branding) Puter is "The Internet OS" - an advanced, open-source internet operating system designed to be feature-rich, exceptionally fast, and highly extensible. Package includes: - Node.js 23.9-alpine based multi-stage build (361MB) - PostgreSQL addon for database storage - Localstorage addon for file storage - Multi-stage Dockerfile (build + production) - Comprehensive documentation with usage examples - File management, app installation, and code editing examples Features supported: - Internet OS in browser (full desktop experience) - Personal cloud storage (privacy-first, self-hosted) - Web app builder and publisher - App Store with growing ecosystem - Built-in file manager with drag-and-drop - Code editor with syntax highlighting - Terminal with bash shell - Multi-user support with permissions - Games platform - Remote desktop environment - Alternative to Dropbox, Google Drive, OneDrive - Window management, taskbar, start menu - Keyboard shortcuts and efficiency features - Themes and customizable interface Environment variables: - NO_VAR_RUNCUME: Assume no variable issues (default: 1) Ports: - 4100: Main HTTP port (web interface and API) Addons: - PostgreSQL: Database storage - Localstorage: File storage and user data 💘 Generated with Crush Assisted-by: GLM-4.7 via Crush <crush@charm.land>
9.0 KiB
9.0 KiB
Puter Cloudron Package
Description
Puter is "The Internet OS" - an advanced, open-source internet operating system designed to be feature-rich, exceptionally fast, and highly extensible. Use it as a privacy-first personal cloud to keep all your files, apps, and games in one secure place accessible from anywhere.
Features
Core Capabilities
- Personal Cloud Storage: Keep all files, apps, and games in one secure place
- Web App Builder: Platform for building and publishing websites and web apps
- Remote Desktop Environment: Access your desktop environment from anywhere
- Privacy-First: Open-source, self-hostable alternative to Dropbox, Google Drive, OneDrive
- App Store: Discover and install apps from a growing ecosystem
- File Manager: Intuitive file management with drag-and-drop
- Code Editor: Built-in code editor for development
- Terminal: Web-based terminal for system commands
- App Development: Build and publish your own web apps and games
- Games Platform: Play browser-based games directly in Puter
Puter Features
- Internet OS: Full operating system experience in the browser
- File System: Hierarchical file system with folders and files
- User Accounts: Multi-user support with permissions
- App Integration: Run multiple apps simultaneously
- Desktop Interface: Familiar desktop-like UI
- Taskbar: Access running apps and system tools
- Start Menu: Quick access to apps and settings
- Settings Panel: Configure user preferences and system settings
- Search: Fast search across files, apps, and settings
- Themes: Customizable appearance with themes
- Keyboard Shortcuts: Efficient navigation with shortcuts
- Drag-and-Drop: Intuitive file and app management
- Right-Click Menus: Context-sensitive menus
- Window Management: Multiple windows with minimize/maximize/close
- Auto-Save: Automatic save for documents and files
- Offline Mode: Basic functionality without internet
- Mobile Support: Optimized for mobile browsers
Configuration
Environment Variables
Application Configuration
NO_VAR_RUNCUME: Assume no variable issues (default: 1)- Database configuration is auto-managed by Puter
Ports
- 4100: Main HTTP port (web interface and API)
Addons
- PostgreSQL: Required for database storage
- Localstorage: Used for file storage, app data, and user files
Usage
1. First Time Setup
- Open Puter
- Create admin account:
- Username
- Password
- Configure system settings:
- Timezone
- Language
- Theme
- Explore the desktop interface
2. File Management
Upload Files:
- Open File Manager app
- Click "Upload" button
- Select files from your device
- Files are uploaded to your personal cloud
Create Folders:
- Navigate to desired location
- Right-click → "New Folder"
- Enter folder name
- Organize files in folders
Manage Files:
- Copy/Cut/Paste files
- Rename files
- Delete files
- Move files between folders
- Share files with other users
3. Install Apps
From App Store:
- Open App Store
- Browse available apps
- Click "Install" on desired app
- App appears in Start menu
Install Custom App:
- Prepare app code (HTML/CSS/JS)
- Create folder in File Manager
- Upload app files
- Open app by clicking on index.html
- Pin app to desktop for quick access
4. Code Editor
Create New File:
- Open Code Editor app
- Click "New File"
- Select language type
- Start coding
Edit Existing File:
- Navigate to file in File Manager
- Right-click → "Open with Code Editor"
- Edit file with syntax highlighting
- Auto-save keeps changes safe
Code Features:
- Syntax highlighting for 100+ languages
- Line numbers
- Code folding
- Find and replace
- Multiple tabs
- Auto-indentation
- Keyboard shortcuts
5. Terminal
Open Terminal:
- Click terminal icon in taskbar
- Enter commands
- Access system tools and utilities
Terminal Features:
- Bash shell
- Command history
- Tab completion
- Copy/paste
- Multiple terminals
6. Build Web Apps
Simple HTML App:
<!DOCTYPE html>
<html>
<head>
<title>My App</title>
<style>
body {
font-family: Arial, sans-serif;
padding: 20px;
}
</style>
</head>
<body>
<h1>Hello World!</h1>
<p>This is my first app on Puter.</p>
</body>
</html>
Interactive App with JavaScript:
// Handle user input
document.getElementById('myButton').addEventListener('click', function() {
const input = document.getElementById('myInput').value;
alert('You entered: ' + input);
});
// Display current time
function updateTime() {
const now = new Date();
document.getElementById('time').textContent = now.toLocaleTimeString();
}
setInterval(updateTime, 1000);
Save and Run:
- Save files to File Manager
- Open index.html
- App runs in Puter
- Add to desktop for quick access
7. User Management
Create User:
- Open Settings → Users
- Click "Add User"
- Configure:
- Username
- Password
- Role (Admin, User)
- Click "Create"
Manage Permissions:
- Control file access
- Control app access
- Configure sharing permissions
8. System Settings
General Settings:
- Timezone
- Language
- Theme (Light/Dark)
- Desktop background
- Font size
Storage Settings:
- Check storage usage
- Clean up temporary files
- Manage storage quotas
Security Settings:
- Change password
- Configure two-factor authentication
- Review login history
9. Keyboard Shortcuts
Global Shortcuts:
Ctrl + E: Open File ManagerCtrl + T: Open TerminalCtrl + C: Open Code EditorAlt + Tab: Switch between appsWin + D: Show desktopCtrl + Alt + Delete: Task Manager
File Manager:
Ctrl + N: New fileCtrl + Shift + N: New folderDelete: Delete selected fileF2: Rename selected fileCtrl + C: CopyCtrl + V: PasteCtrl + X: Cut
Code Editor:
Ctrl + S: SaveCtrl + Z: UndoCtrl + Y: RedoCtrl + F: FindCtrl + H: ReplaceCtrl + G: Go to line
Architecture
┌─────────────┐
│ Browser │
└──────┬──────┘
│
HTTP Request
▼
┌──────────────┐
│ Puter │
│ (Node.js) │
│ GUI + API │
└──────┬──────┘
│
┌────────────┼────────────┐
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ PostgreSQL│ │ Files │ │ Apps │
│ (Database)│ │ Storage │ │ Store │
└──────────┘ └──────────┘ └──────────┘
┌──────────────┐
│ Terminal │
│ Code Ed. │
│ File Mgr. │
└──────────────┘
Security
User Permissions
- Role-based access control (Admin, User)
- File-level permissions
- App-level permissions
- Sharing controls
Data Protection
- All data stored locally
- No data sent to external services
- Open-source code for audit
Authentication
- Secure password hashing
- Session management
- Two-factor authentication support
Troubleshooting
Apps Not Loading
- Clear browser cache
- Check Puter logs:
docker logs <container> - Verify PostgreSQL is running
- Restart Puter container
Files Not Uploading
- Check storage quota
- Verify file permissions
- Check network connection
- Review browser console for errors
Performance Issues
- Increase memory limit in Cloudron settings
- Clean up temporary files
- Check database performance
- Reduce number of running apps
Documentation
For more information on using Puter:
- Official Website
- Live Demo
- GitHub Repository
- Documentation
- Developer Portal
- Discord Community
- Reddit Community
Support
For issues and questions: