Files
api/plugin
Eli Bosley 31c338373c feat(onboarding): implement onboarding reset functionality and new admin panel
- Added a new `resetUpgradeOnboarding` mutation to reset onboarding progress for the current OS version.
- Introduced an `OnboardingAdminPanel` component for managing onboarding states and resetting progress.
- Created a test harness for simulating onboarding flows with client-side overrides.
- Updated GraphQL schema to include the new `ThemeName` enum and onboarding reset mutation.
- Enhanced existing components to support the new onboarding features and improve user experience.

This update significantly enhances the onboarding process by providing tools for managing and resetting onboarding states, improving overall usability.
2025-12-23 15:34:40 -05:00
..
2025-03-04 15:18:04 -05:00
2025-09-08 10:04:49 -04:00
2025-03-04 15:18:04 -05:00

Unraid Plugin Builder

Tool for building and testing Unraid plugins locally as well as packaging them for deployment.

Development Workflow

1. Build the Plugin

Note: Building the plugin requires Docker.

Once your changes are ready, build the plugin package:

# Start Docker container (builds dependencies automatically)
pnpm run docker:build-and-run

# Inside the container, build the plugin
pnpm build

This will:

  1. Build the API release (api/deploy/release/)
  2. Build the web standalone components (web/dist/)
  3. Start Docker container with HTTP server on port 5858
  4. Build the plugin package (when you run pnpm build)

The plugin files will be created in ./deploy/ and served automatically.

2. Install on Unraid

Install the plugin on your Unraid development machine by visiting:

http://SERVER_NAME.local/Plugins

Then paste the following URL into the Unraid Plugins page:

http://YOUR_LOCAL_DEV_MACHINE_IP:5858/plugins/local/dynamix.unraid.net.plg

Replace SERVER_NAME with your development machine's hostname.

Development Tips

  • The HTTP server includes CORS headers for local development
  • Check the Unraid system log for plugin installation issues

Environment Setup

  1. Initialize environment:

    pnpm run env:init
    
  2. Validate environment:

    pnpm run env:validate
    

Available Commands

Build Commands

  • build - Build the plugin package (run inside Docker container)
  • docker:build - Build the Docker container
  • docker:run - Run the builder in Docker
  • docker:build-and-run - Build dependencies and start Docker container

Environment Commands

  • env:init - Create initial .env file
  • env:validate - Validate environment setup
  • env:clean - Remove .env file

Troubleshooting

  1. Watch not updating files

    • Check that source directories exist
    • Verify file permissions
  2. Build failures

    • Ensure .env file exists
    • Check Docker setup if using containerized build
    • Verify source files are present
  3. Installation issues

    • Confirm http-server is running
    • Check your local IP is correct
    • Verify plugin file permissions