puter icon indicating copy to clipboard operation
puter copied to clipboard

Initial Setup Wizard

Open KernelDeimos opened this issue 9 months ago • 3 comments

Setup Wizard

When you launch Puter's backend the first time, the configuration is optimized for local development. For other setups, it is often essential to modify configuration, which for most probably involves going through GitHub issues and seeing what problems others ran into before you. A setup wizard will help deployers and contributors get started with Puter.

A setup wizard should help the user through the following:

  • Configure subdomain behavior
    • Some hosting configurations don't allow subdomain. In these environments, the experimental_no_subdomain flag should be set. This option should be an opt-in with a warning about host-header injection.
  • Configure domain name, or nip.io mode
    • For ip access, the best way to do it is via a service like nip.io because Puter is more secure with multiple origins. For domain access, the deployer should configure a domain.
  • Set a password for the admin user
    • Currently, this shows up in the development console. This isn't great for deployers using Docker, because they might not be able to see the output.

Recommended Procedure

  • Try a frontend issue labelled "good first issue" (optional)
  • Try a backend issue labelled "good first issue" (optional)
  • first step for backend: Add a new service called SetupService.js to the selfhosted module
  • first step for frontend: Talk to Puter users on Discord or Reddit about design ideas; see what people like

Instructions & Support

Relevant Documentation

Relevant Modules

  • Web Module - This is where Puter's web server is initialized. This may need modification to support displaying the setup wizard when the user navigates to Puter in their browser.
  • Self-Hosted Module - This module creates the default user (DefaultUserService).
  • Puter Homepage Service - This service from the legacy core module might also need to be updated
  • Template Module - Provides a useful reference for how modules and services work

KernelDeimos avatar Feb 26 '25 19:02 KernelDeimos

Hi! Could I be assigned this issue?

wingding12 avatar Mar 06 '25 21:03 wingding12

Assigned! let me know if you run into any hurdles

KernelDeimos avatar Mar 06 '25 21:03 KernelDeimos

Hi,

I just asked if this allow to create user accounts and manageable by admin?

JFOC avatar May 22 '25 12:05 JFOC