mirror of
https://github.com/unraid/api.git
synced 2026-01-02 14:40:01 -06:00
- Introduced a new `<unraid-onboarding-test-harness>` component to the Onboarding page, allowing for the application and clearing of onboarding overrides. - This addition enhances the onboarding interface by providing a dedicated tool for testing and managing onboarding state overrides, improving the overall development and testing experience.
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