Puter Mods
What is a Puter Mod?
Currently, the definition of a Puter mod is:
A Module which is exported by a package directory which itself exists within a directory specified in the
mod_directoriesarray inconfig.json.
Enabling Puter Mods
Step 1: Update Configuration
First update the configuration (usually at ./volatile/config.json
or /var/puter/config.json) to specify mod directories.
{
"config_name": "example config",
"mod_directories": [
"{source}/mods/mods_enabled"
]
// ... other config options
}
The first path you'll want to add is
"{source}/mods/mods_enabled"
which adds all the mods included in Puter's official repository.
You don't need to change {source} unless your entry javascript
file is in a different location than the default.
If you want to enable all the mods, you can change the path above
to mods_available instead and skip step 2 below.
Step 2: Select Mods
To enable a Puter mod, create a symbolic link (AKA symlink) in
mods/mods_enabled, pointing to
a directory in mods/mods_available. This follows the same convention
as managing sites/mods in Apache or Nginx servers.
For example to enable KDMOD (which you can read as "Kernel Dev" mod, or "the mod that GitHub user KernelDeimos created to help with testing") you would run this command:
ln -rs ./mods/mods_available/kdmod ./mods/mods_enabled/
This will create a symlink at ./mods/mods_enabled/kdmod pointing
to the directory ./mods/mods_available/kdmod.
note: here are some helpful tips for the
lncommand:
- You can remember
ln's first argument is the unaffected source file by rememberingcpandmvare the same in this way.- If you don't add
-syou get a hard link. You will rarely find yourself needing to do that.- The
-rflag allows you to write both paths relative to the directory from which you are calling the command, which is sometimes more intuitive.
General
API
- Index (README.md)
- api drivers
- Group Endpoints
- Notification Endpoints
- Share Endpoints
- Type-Tagged Objects
Concepts
Types
For Contributors
- Comment Prefixes
- contributors vscode
- Local Email Testing
- Puter Extensions
- Repository Structure and Tooling
Extensions
Devmeta
Planning
- Micro Modules
- [planning alternatives_to_
](planning-alternatives_to_)
Self_hosters
- Configuring Domains for Self-Hosted Puter
- Configuring Puter
- First Run Issues
- self_hosters config_values
- self_hosters support
- Self-Hosting Puter
Src
Backend
A_and_A
For Contributors
- Backend Style
- Puter Backend - Directory Structure
- Puter Backend Boot Sequence
- Puter Kernel Moduels and Services
Features
- Batch and Symlinks
- Metered Services and Cost Management
- Protected Apps and Subdomains
- Service Scripts
Lists_of_things
Modules
Puterai
Notes
Services
Src
Modules
Puterai
- Index (README.md)
- Configuring AI Services
- PuterAI API Request Examples
- src backend src modules puterai config
####### For Contributors
Test_drivers
Gui
Phoenix
Tools
Api_tester
Uncategorized
This wiki is generated from the repository. Do not edit files the wiki.
You are reading documentation for Puter, an open-source high-level operating system.
Getting started with Puter on localhost is as simple as:
git clone https://github.com/HeyPuter/puter.git
npm install
npm run start