{"id":44534777,"url":"https://github.com/medzin/unraid-cli","last_synced_at":"2026-04-03T00:02:42.827Z","repository":{"id":348042204,"uuid":"1185544149","full_name":"medzin/unraid-cli","owner":"medzin","description":"A command-line client for interacting with the Unraid API.","archived":false,"fork":false,"pushed_at":"2026-03-30T14:44:48.000Z","size":45,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-30T16:25:53.479Z","etag":null,"topics":["cli","go","unraid"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/medzin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-18T17:36:46.000Z","updated_at":"2026-03-30T14:44:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/medzin/unraid-cli","commit_stats":null,"previous_names":["medzin/unraid-cli"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/medzin/unraid-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medzin%2Funraid-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medzin%2Funraid-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medzin%2Funraid-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medzin%2Funraid-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/medzin","download_url":"https://codeload.github.com/medzin/unraid-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medzin%2Funraid-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31319758,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T23:57:25.032Z","status":"ssl_error","status_checked_at":"2026-04-02T23:57:06.281Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","go","unraid"],"created_at":"2026-02-13T18:44:47.642Z","updated_at":"2026-04-03T00:02:42.815Z","avatar_url":"https://github.com/medzin.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Unraid CLI\n\nA command-line client for interacting with the Unraid API.\n\n## Quick Start\n\n1. Add your Unraid server:\n\n```bash\n# Unraid uses self-signed certificates by default — use --insecure-tls\nunraid config add tower --url https://192.168.1.100 --api-key YOUR_API_KEY --insecure-tls\n```\n\n1. List running Docker containers:\n\n```bash\nunraid docker list\n```\n\n## Configuration\n\nThe CLI supports multiple server configurations, allowing you to manage\nseveral Unraid servers from a single client.\n\n### Adding a Server\n\n```bash\nunraid config add \u003cname\u003e --url \u003curl\u003e --api-key \u003capi-key\u003e [--insecure-tls]\n```\n\nThe first server added is automatically set as the default.\n\nUnraid uses self-signed TLS certificates by default, so most users will need\n`--insecure-tls`. If your server uses a certificate signed by a trusted CA,\nomit the flag.\n\n### Managing Servers\n\n```bash\n# List all configured servers\nunraid config list\n\n# Set a different default server\nunraid config default \u003cname\u003e\n\n# Remove a server\nunraid config remove \u003cname\u003e\n```\n\n### Configuration File\n\nServer configurations are stored in a TOML file:\n\n| Platform | Path                                                 |\n| -------- | ---------------------------------------------------- |\n| Linux    | `~/.config/unraid/config.toml`                       |\n| macOS    | `~/Library/Application Support/unraid/config.toml`   |\n| Windows  | `C:\\Users\\\u003cUser\u003e\\AppData\\Roaming\\unraid\\config.toml` |\n\nExample configuration:\n\n```toml\ndefault = \"tower\"\n\n[servers.tower]\nurl = \"https://192.168.1.100\"\napi_key = \"your-api-key-here\"\ninsecure_tls = true\n\n[servers.backup]\nurl = \"https://192.168.1.101\"\napi_key = \"another-api-key\"\n```\n\n### Configuration Priority\n\nThe CLI resolves server settings in the following order\n(highest priority first):\n\n1. CLI arguments (`--url`, `--api-key`)\n2. Environment variables (`UNRAID_URL`, `UNRAID_API_KEY`)\n3. Config file (default server or `--server` flag)\n\n## Environment Variables\n\n| Variable               | Description                                        |\n| ---------------------- | -------------------------------------------------- |\n| `UNRAID_URL`           | Server URL                                         |\n| `UNRAID_API_KEY`       | API key for authentication                         |\n| `UNRAID_SERVER`        | Server name from config file to use                |\n| `UNRAID_TIMEOUT`       | Request timeout in seconds                         |\n| `UNRAID_INSECURE_TLS`  | Set to `true` to skip TLS certificate verification |\n\n`UNRAID_INSECURE_TLS` applies when `UNRAID_URL` and `UNRAID_API_KEY` are used.\nFor config-file based setups, set `insecure_tls = true` per server or use the\n`--insecure-tls` flag to override for a single invocation.\n\n## Commands\n\n### Array\n\nManage the Unraid storage array.\n\n```bash\n# Show array status and disk list\nunraid array status\n\n# Start the array\nunraid array start\n\n# Stop the array\nunraid array stop\n```\n\n### Docker\n\nManage Docker containers on your Unraid server.\n\n```bash\n# List running containers\nunraid docker list\n\n# List all containers (including stopped)\nunraid docker list --all\nunraid docker ls -a\n\n# Start a container\nunraid docker start \u003cname\u003e\n\n# Stop a container\nunraid docker stop \u003cname\u003e\n\n# Restart a container\nunraid docker restart \u003cname\u003e\n\n# Pause a container\nunraid docker pause \u003cname\u003e\n\n# Unpause a container\nunraid docker unpause \u003cname\u003e\n\n# Update a container to the latest image\nunraid docker update \u003cname\u003e\n\n# Fetch container logs (last 100 lines by default)\nunraid docker logs \u003cname\u003e\nunraid docker logs \u003cname\u003e --tail 50\nunraid docker logs \u003cname\u003e -n 50\n```\n\n### Virtual Machines\n\nManage virtual machines on your Unraid server.\n\n```bash\n# List running VMs\nunraid vm list\n\n# List all VMs (including stopped)\nunraid vm list --all\nunraid vm ls -a\n\n# Start a VM\nunraid vm start \u003cname\u003e\n\n# Stop a VM (graceful shutdown)\nunraid vm stop \u003cname\u003e\n\n# Force stop a VM\nunraid vm force-stop \u003cname\u003e\n\n# Pause a VM\nunraid vm pause \u003cname\u003e\n\n# Resume a paused VM\nunraid vm resume \u003cname\u003e\n\n# Reboot a VM\nunraid vm reboot \u003cname\u003e\n\n# Reset a VM (hard reboot)\nunraid vm reset \u003cname\u003e\n```\n\n### Server\n\nQuery information about the Unraid server.\n\n```bash\n# Show Unraid OS and API versions\nunraid server version\n\n# List available log files\nunraid server log --list\n\n# Show last 100 lines of a log file (default)\nunraid server log /var/log/syslog\n\n# Show a specific number of lines\nunraid server log /var/log/syslog --lines 50\nunraid server log /var/log/syslog -n 50\n\n# Show the full log file\nunraid server log /var/log/syslog --lines 0\n```\n\n### Capabilities\n\nCheck which CLI commands are supported by the connected server. Useful when\nworking with older Unraid versions that may not implement all API operations.\n\n```bash\nunraid capabilities\n\n# Against a specific server\nunraid --server backup capabilities\n```\n\nExample output:\n\n```text\nCapabilities for https://192.168.1.100\n\nCOMMAND               STATUS\n----------------------------------------\nserver version        supported\nserver log            supported\narray status          supported\narray start           supported\narray stop            supported\ndocker list           supported\ndocker start          supported\ndocker stop           supported\ndocker restart        supported\ndocker pause          supported\ndocker unpause        supported\ndocker update         supported\nvm list               supported\nvm start              supported\nvm stop               supported\nvm force-stop         not available\nvm pause              supported\nvm resume             supported\nvm reboot             supported\nvm reset              supported\n```\n\n### CLI Version\n\n```bash\nunraid --version\n```\n\n### Global Options\n\nThese options can be used with any command:\n\n```bash\n# Use a specific server from config\nunraid --server backup docker list-containers\n\n# Override URL and API key directly\nunraid --url https://192.168.1.100 --api-key YOUR_KEY docker list-containers\n\n# Skip TLS certificate verification (for self-signed certs)\nunraid --insecure-tls docker list\n\n# Change the request timeout (default is 5 seconds)\nunraid --timeout 10 docker list-containers\n\n# Output as JSON (useful for scripting with jq)\nunraid --output json docker list\nunraid -o json array status\n```\n\nWrite commands output a result object:\n\n```json\n{\n  \"success\": true,\n  \"message\": \"Container 'plex' is now running.\"\n}\n```\n\n## License\n\nThis project is licensed under the MIT License - see the\n[LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedzin%2Funraid-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmedzin%2Funraid-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedzin%2Funraid-cli/lists"}