mirror of
https://github.com/unraid/api.git
synced 2026-01-02 22:50:02 -06:00
- 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.
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:
- Build the API release (
api/deploy/release/) - Build the web standalone components (
web/dist/) - Start Docker container with HTTP server on port 5858
- 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
-
Initialize environment:
pnpm run env:init -
Validate environment:
pnpm run env:validate
Available Commands
Build Commands
build- Build the plugin package (run inside Docker container)docker:build- Build the Docker containerdocker:run- Run the builder in Dockerdocker:build-and-run- Build dependencies and start Docker container
Environment Commands
env:init- Create initial .env fileenv:validate- Validate environment setupenv:clean- Remove .env file
Troubleshooting
-
Watch not updating files
- Check that source directories exist
- Verify file permissions
-
Build failures
- Ensure .env file exists
- Check Docker setup if using containerized build
- Verify source files are present
-
Installation issues
- Confirm http-server is running
- Check your local IP is correct
- Verify plugin file permissions