Files
NextcloudUploadTool/docs/installation.md

78 lines
2.7 KiB
Markdown

# Installation Guide
**Nextcloud Upload Tool (`nut`)** is available as a standalone command-line tool and a desktop GUI application across macOS, Windows, and Linux.
---
## 1. Pre-built Binaries & Installers
Download pre-built releases for your operating system from the [Releases](https://github.com/majinnaibu/nextcloud-upload-tool/releases) page.
### macOS (Apple Silicon & Intel)
- **GUI Desktop App**: Download the `.dmg` installer, open it, and drag `Nextcloud Upload Tool.app` into `/Applications`.
- **CLI Binary**:
```bash
# Apple Silicon (M1/M2/M3/M4)
curl -fsSL https://github.com/majinnaibu/nextcloud-upload-tool/releases/latest/download/nut-aarch64-apple-darwin.tar.gz | tar -xz
sudo mv nut /usr/local/bin/
# Intel x86_64
curl -fsSL https://github.com/majinnaibu/nextcloud-upload-tool/releases/latest/download/nut-x86_64-apple-darwin.tar.gz | tar -xz
sudo mv nut /usr/local/bin/
```
### Linux (Debian, Ubuntu, Fedora, Arch, Generic)
- **Debian / Ubuntu (`.deb`)**:
```bash
sudo dpkg -i nextcloud-upload-tool_0.1.0_amd64.deb
sudo apt-get install -f
```
- **Fedora / RHEL (`.rpm`)**:
```bash
sudo rpm -i nextcloud-upload-tool-0.1.0-1.x86_64.rpm
```
- **Universal AppImage**:
```bash
chmod +x Nextcloud_Upload_Tool_0.1.0_amd64.AppImage
./Nextcloud_Upload_Tool_0.1.0_amd64.AppImage
```
- **Static CLI Binary (musl libc - zero external dependencies)**:
```bash
curl -fsSL https://github.com/majinnaibu/nextcloud-upload-tool/releases/latest/download/nut-x86_64-unknown-linux-musl.tar.gz | tar -xz
sudo mv nut /usr/local/bin/
```
### Windows
- **GUI Installer (`.msi` / NSIS `.exe`)**: Download and run `Nextcloud-Upload-Tool-Setup.exe` or `Nextcloud-Upload-Tool.msi`. Follow the installer wizard.
- **Standalone CLI**: Download `nut-x86_64-pc-windows-msvc.zip`, extract `nut.exe`, and add it to your system `%PATH%`.
---
## 2. Building from Source
### Prerequisites
- **Rust toolchain** (1.75+): Install via `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`
- **Node.js** (v20+) and **npm** (for GUI frontend build)
- **Platform Development Libraries**:
- **Linux**: `sudo apt-get install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev libssl-dev patchelf`
- **macOS**: Xcode Command Line Tools (`xcode-select --install`)
- **Windows**: Visual Studio C++ Build Tools
### Build the CLI (`nut`)
```bash
git clone https://github.com/majinnaibu/nextcloud-upload-tool.git
cd nextcloud-upload-tool
cargo build --release -p nut
# The binary is placed at target/release/nut
```
### Build the Desktop GUI
```bash
cd gui
npm install
npm run build
npm run tauri build
# The packaged bundle is located in gui/src-tauri/target/release/bundle/
```