| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Monorepo for the Unraid API and Unraid Connect.
Explore the docs »
·
Report Bug
·
Request Feature
·
Submit Work Intent
Production: https://stable.dl.unraid.net/unraid-api/dynamix.unraid.net.plg
Staging: https://preview.dl.unraid.net/unraid-api/dynamix.unraid.net.plg
This section will guide you through the steps necessary to get the monorepo projects running and communicating with each other.
Make sure the following software is installed before proceeding.
For Ubuntu or WSL users, note that the default Ubuntu repositories may have older versions of rclone. You'll need rclone v1.70 or higher, which can be obtained from the rclone releases page.
After installation, verify your dependencies:
# Verify installations and versions
node --version # Should be v22.x
pnpm --version # Should be v9.0+
rclone version # Should be v1.70+
jq --version # Should be installed
docker --version # Should be installedIf you have Nix installed, you can use the provided flake to automatically set up all development dependencies:
nix developThis will provide all the required tools (Node.js, Docker, Just, libvirt, rclone, etc.) without needing to install them manually.
Next, create an SSH key if you haven't already. Once you have your key pair, add your public SSH key to your Unraid server:
Clone and enter the repo
git clone git@github.com:unraid/api.git
cd apiIf using Nix, enter the development environment:
nix developInstall dependencies and verify they're correctly installed:
# Install all monorepo dependencies
pnpm install
# The install script will automatically check for required dependencies
# and their versions (rclone v1.70+, jq, pnpm, etc.)Build the project:
# Build individual packages first (from root directory)
cd api && pnpm build && cd ..
cd web && pnpm build && cd ..
# Then build the plugin if needed
cd plugin && pnpm build && cd ..Note: The packages must be built in order as the plugin depends on the API build artifacts.
Build and test a full plugin locally using Docker:
cd plugin
pnpm run docker:build-and-run
# Then inside the container:
pnpm buildThis builds all dependencies (API, web), starts a Docker container, and serves the plugin at http://YOUR_IP:5858/. Install it on your Unraid server via Plugins → Install Plugin.
Deploy individual packages directly to an Unraid server for faster iteration:
# Deploy API changes
cd api && pnpm unraid:deploy <SERVER_IP>
# Deploy web changes
cd web && pnpm unraid:deploy <SERVER_IP>For active development with hot-reload (no Unraid server needed):
# From the root directory - runs all dev servers concurrently
pnpm devOr run individual development servers:
# API server (GraphQL backend at http://localhost:3001)
cd api && pnpm dev
# Web interface (Nuxt frontend at http://localhost:3000)
cd web && pnpm dev# Replace SERVER_IP with your Unraid server's IP address
pnpm unraid:deploy SERVER_IPTip
View other workflows (local dev, etc.) in the Developer Workflows
See How to Use the API.
For more examples, please refer to the Documentation
For a complete guide on contributing to the project, including our code of conduct and development process, please see our Contributing Guide. Please read this before contributing.
For more information about development workflows, repository organization, and other technical details, please refer to the developer documentation inside this repository:
Before starting development work on this project, you must submit a Work Intent and have it approved by a core developer. This helps prevent duplicate work and ensures changes align with the project's goals.
Create a Work Intent
Wait for Approval
Begin Development
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
@UnraidOfficial - contact@unraid.net
Project Link: https://github.com/unraid/api
| Back | FazBrowse Home | New Git URL |