### Download Sample AltMount Configuration Source: https://altmount.kipsilabs.top/docs/Installation/other-methods Download the sample configuration file to get started. ```bash wget https://raw.githubusercontent.com/javi11/altmount/main/config.sample.yaml -O config.yaml ``` -------------------------------- ### Example Backend Configuration Source: https://altmount.kipsilabs.top/docs/Development/setup An example of the `config.yaml` file for the AltMount backend. Customize server port, host, and database path as needed. ```yaml # Example configuration server: port: 8080 host: "localhost" database: path: "./altmount.db" # Add your specific configuration here ``` -------------------------------- ### Install Frontend Dependencies Source: https://altmount.kipsilabs.top/docs/Development/setup Install frontend dependencies using Bun. This command should be run after navigating to the `frontend` directory. ```bash bun i ``` -------------------------------- ### Install Backend Dependencies Source: https://altmount.kipsilabs.top/docs/Development/setup Install backend dependencies using the provided Makefile. This command also handles Go module tidy operations. ```bash make tidy ``` -------------------------------- ### Start Frontend Development Server Source: https://altmount.kipsilabs.top/docs/Development/setup Start the frontend development server using Bun. This enables hot reloading and typically runs on port 5173. ```bash bun dev ``` -------------------------------- ### Start the AltMount Service Source: https://altmount.kipsilabs.top/docs/intro Create the necessary configuration directory and launch the container using Docker Compose. ```bash mkdir -p ./config/metadata docker-compose up -d ``` -------------------------------- ### Submit NZB and Get Stream URLs using curl Source: https://altmount.kipsilabs.top/docs/Configuration/stremio This example demonstrates how to compute the download key and then submit an NZB file to the /api/nzb/streams endpoint using curl. It includes parameters for download key, file, category, and timeout. ```bash # 1. Compute your download_key DOWNLOAD_KEY=$(echo -n "YOUR_API_KEY" | sha256sum | awk '{print $1}') # 2. Submit the NZB and get stream URLs curl -s -X POST "http://localhost:8080/api/nzb/streams" \ -F "download_key=${DOWNLOAD_KEY}" \ -F "file=@/path/to/release.nzb" \ -F "category=movies" \ -F "timeout=300" | jq . ``` -------------------------------- ### GET /stremio/{key}/manifest.json Source: https://altmount.kipsilabs.top/openapi.yaml Returns the Stremio addon manifest JSON for installation. The key authenticates the addon. ```APIDOC ## GET /stremio/{key}/manifest.json ### Description Returns the Stremio addon manifest JSON for installation. The key authenticates the addon. ### Method GET ### Endpoint /stremio/{key}/manifest.json ### Parameters #### Path Parameters - **key** (string) - Required - The key to authenticate the addon. ``` -------------------------------- ### POST /import/nzbdav Source: https://altmount.kipsilabs.top/openapi.yaml Starts an import from a WebDAV/NZBDav source. ```APIDOC ## POST /import/nzbdav ### Description Starts an import from a WebDAV/NZBDav source, fetching NZBs from the remote. ### Method POST ### Endpoint /import/nzbdav ### Parameters #### Request Body - **config** (object) - Optional - Import configuration (uses server config if omitted) ### Response #### Success Response (200) - **api.APIResponse** - OK ``` -------------------------------- ### Run AltMount Server Source: https://altmount.kipsilabs.top/docs/Development/setup Start the AltMount backend server in development mode. Ensure you have a `config.yaml` file in the project root. ```bash make go run ./cmd/altmount serve --config=./config.yaml ``` -------------------------------- ### GET /config Source: https://altmount.kipsilabs.top/openapi.yaml Retrieves the entire AltMount configuration. ```APIDOC ## GET /config ### Description Retrieves the entire AltMount configuration. ### Method GET ### Endpoint /config ### Security - BearerAuth - ApiKeyAuth ### Responses #### Success Response (200) - **data** (object) - The configuration object. #### Error Response (503) - **message** (string) - Service Unavailable error message. ``` -------------------------------- ### Get AltMount Version Source: https://altmount.kipsilabs.top/docs/Troubleshooting/common-issues Retrieve the installed AltMount version using the `--version` flag. This is essential information when reporting issues or seeking help. ```bash # AltMount version ./altmount --version ``` -------------------------------- ### Download and Install AltMount for Linux (amd64) Source: https://altmount.kipsilabs.top/docs/Installation/other-methods Download the latest amd64 binary for Linux, make it executable, and move it to your system's path. ```bash # Download latest release wget https://github.com/javi11/altmount/releases/latest/download/altmount-linux-amd64 # Make executable chmod +x altmount-linux-amd64 # Move to system path (optional) sudo mv altmount-linux-amd64 /usr/local/bin/altmount ``` -------------------------------- ### Navigate to Frontend Directory Source: https://altmount.kipsilabs.top/docs/Development/setup Change the current directory to the frontend application folder to manage its dependencies and start the development server. ```bash cd frontend ``` -------------------------------- ### Stremio Addon Install URL Source: https://altmount.kipsilabs.top/docs/Configuration/stremio Generates a personalized manifest URL for Stremio addon installation. ```APIDOC ## Stremio Addon Install URL Once the integration is enabled and the configuration is saved, AltMount generates a personalised manifest URL: ``` /stremio//manifest.json ``` This URL is shown in the **Addon Install URL** card in the web UI. You can: * **Copy** the URL and paste it into Stremio → Add-ons → Install from URL. * **Install** to open Stremio directly via the `stremio://` URI scheme. The `download_key` embedded in the URL is the SHA-256 hash of your API key — safe to share with the Stremio app (see Authentication). ``` -------------------------------- ### Download and Install AltMount for Linux (arm64) Source: https://altmount.kipsilabs.top/docs/Installation/other-methods Download the latest arm64 binary for Linux, make it executable, and move it to your system's path. ```bash # Download ARM64 version wget https://github.com/javi11/altmount/releases/latest/download/altmount-linux-arm64 # Make executable chmod +x altmount-linux-arm64 # Move to system path (optional) sudo mv altmount-linux-arm64 /usr/local/bin/altmount ``` -------------------------------- ### Define Primary and Backup Providers Source: https://altmount.kipsilabs.top/docs/Configuration/providers Example configuration showing how to define multiple providers, including a backup provider using the is_backup_provider flag. ```yaml providers: # Primary provider with SSL - host: "ssl-news.provider.com" port: 563 username: "your_username" password: "your_password" max_connections: 20 tls: true # Backup provider - host: "backup.provider.com" port: 563 username: "backup_username" password: "backup_password" max_connections: 10 tls: true is_backup_provider: true ``` -------------------------------- ### Create Docker Directories for AltMount Source: https://altmount.kipsilabs.top/docs/Troubleshooting/common-issues Before starting the Docker container, create the necessary 'config' and 'metadata' directories for AltMount. ```bash mkdir -p ./config ./metadata ``` -------------------------------- ### GET /arrs/instances Source: https://altmount.kipsilabs.top/openapi.yaml Returns all configured Sonarr/Radarr instances. ```APIDOC ## GET /arrs/instances ### Description Returns all configured Sonarr/Radarr instances. ### Method GET ### Endpoint /arrs/instances ### Security - BearerAuth - ApiKeyAuth ### Responses #### Success Response (200) - **description**: OK **content**: application/json **schema**: #/components/schemas/api.APIResponse ``` -------------------------------- ### Download and Install AltMount for macOS Source: https://altmount.kipsilabs.top/docs/Installation/other-methods Download the latest amd64 binary for macOS, make it executable, and move it to your system's path. ```bash # Download for macOS wget https://github.com/javi11/altmount/releases/latest/download/altmount-darwin-amd64 # Make executable chmod +x altmount-darwin-amd64 # Move to system path (optional) sudo mv altmount-darwin-amd64 /usr/local/bin/altmount ``` -------------------------------- ### Example Output of NZB Stream Submission Source: https://altmount.kipsilabs.top/docs/Configuration/stremio This is an example of the JSON output received after successfully submitting an NZB file and obtaining stream URLs. ```json { "streams": [ { "url": "http://localhost:8080/webdav/movies/My.Movie.2024.mkv", "title": "My.Movie.2024.mkv", "name": "AltMount" } ], "_queue_item_id": 7, "_queue_status": "completed" } ``` -------------------------------- ### Install FUSE 3 Driver Source: https://altmount.kipsilabs.top/docs/Installation/docker-volume-plugin Install the FUSE 3 driver if it is not already present. The rclone Docker Volume Plugin requires FUSE 3. ```bash sudo apt install fuse3 ``` -------------------------------- ### Frontend Development Commands Source: https://altmount.kipsilabs.top/docs/Development/setup Common commands for frontend development using Bun, including starting the dev server, building for production, and running linters. ```bash # Start development server bun dev # Build for production bun run build # Preview production build bun run preview # Run linting bun run lint # Run type checking and linting bun run check ``` -------------------------------- ### Implement Stream Handler with AltMount Resolution Source: https://altmount.kipsilabs.top/docs/Configuration/stremio JavaScript example using stremio-addon-sdk to proxy AltMount's stream endpoint. ```javascript const { addonBuilder } = require("stremio-addon-sdk"); const ALTMOUNT = "http://altmount.example.com"; const KEY = "YOUR_DOWNLOAD_KEY"; // sha256(api_key) const builder = new addonBuilder({ id: "com.example.my-addon", version: "1.0.0", name: "My Addon", resources: ["stream"], types: ["movie", "series"], catalogs: [], idPrefixes: ["tt"], }); builder.defineStreamHandler(async ({ type, id }) => { const res = await fetch(`${ALTMOUNT}/stremio/${KEY}/stream/${type}/${id}.json`); const data = await res.json(); return { streams: data.streams ?? [] }; }); module.exports = builder.getInterface(); ``` -------------------------------- ### Fix Binary Permissions Source: https://altmount.kipsilabs.top/docs/Troubleshooting/common-issues Use this command to grant execute permissions to the AltMount binary if it fails to start. ```bash chmod +x altmount ``` -------------------------------- ### Configure ARR Root Folders Source: https://altmount.kipsilabs.top/docs/Configuration/health-monitoring Example of how to set the root folders within Sonarr and Radarr to align with AltMount's configured mount path for proper integration. ```text Radarr Root Folder: /mnt/remotes/altmount/movies/ Sonarr Root Folder: /mnt/remotes/altmount/tv/ ``` -------------------------------- ### Generate Backend Code Source: https://altmount.kipsilabs.top/docs/Development/setup Generate necessary code for the backend, including protobuf code and files generated by `go generate`. This must be run before starting the server. ```bash make generate ``` -------------------------------- ### Configure NNTP Providers in AltMount Source: https://altmount.kipsilabs.top/docs/Installation/other-methods Example configuration for NNTP providers, including host, port, username, password, and TLS settings. ```yaml providers: - host: "ssl-news.provider.com" port: 563 username: "your_username" password: "your_password" max_connections: 20 tls: true ``` -------------------------------- ### Specify AltMount Configuration Path Source: https://altmount.kipsilabs.top/docs/Troubleshooting/common-issues If the configuration file is not found, provide the full path to the config.yaml file when starting the AltMount serve command. ```bash ./altmount serve --config=/full/path/to/config.yaml ``` -------------------------------- ### Implement Stream Handler with Direct NZB Submission Source: https://altmount.kipsilabs.top/docs/Configuration/stremio JavaScript example for resolving an NZB locally and submitting it to AltMount via FormData. ```javascript builder.defineStreamHandler(async ({ type, id }) => { // Your addon resolves the NZB however it likes const nzbBuffer = await myIndexer.fetchNzb(id); const form = new FormData(); form.append("download_key", KEY); form.append("file", new Blob([nzbBuffer], { type: "application/x-nzb" }), `${id}.nzb`); form.append("category", type === "movie" ? "movies" : "tv"); form.append("timeout", "300"); const res = await fetch(`${ALTMOUNT}/api/nzb/streams`, { method: "POST", body: form }); if (!res.ok) return { streams: [] }; const data = await res.json(); return { streams: data.streams ?? [] }; }); ``` -------------------------------- ### Configure NNTP Provider with Pipelining Source: https://altmount.kipsilabs.top/docs/Configuration/providers Example of a provider configuration using the inflight_requests parameter to control NNTP pipelining. ```yaml providers: - host: "ssl-news.provider.com" port: 563 username: "your_username" password: "your_password" max_connections: 20 tls: true inflight_requests: 10 # Default — good for most providers ``` -------------------------------- ### High-Performance Streaming Configuration Source: https://altmount.kipsilabs.top/docs/Troubleshooting/performance Optimize for high-bandwidth setups by increasing `max_prefetch` and enabling multiple NZB processors with fast queue processing. ```yaml streaming: max_prefetch: 60 # More prefetch for high-bandwidth setups import: max_processor_workers: 4 # Multiple NZB processors queue_processing_interval_seconds: 2 # Fast queue processing ``` -------------------------------- ### Build AltMount from Source Source: https://altmount.kipsilabs.top/docs/Installation/other-methods Clone the AltMount repository and build the binary using make. Requires Go 1.24.5+ and Bun. ```bash # Prerequisites: Go 1.24.5+ and Bun git clone https://github.com/javi11/altmount.git cd altmount # Build everything (frontend + backend) make # The binary is now available as ./altmount ``` -------------------------------- ### Get System Information Source: https://altmount.kipsilabs.top/docs/Troubleshooting/common-issues Gather system information using `uname -a` to provide details about the operating system and kernel version. This helps in diagnosing environment-specific problems. ```bash # System information uname -a ``` -------------------------------- ### Install Rclone Docker Volume Plugin Source: https://altmount.kipsilabs.top/docs/Installation/docker-volume-plugin Install the rclone Docker Volume Plugin on your Docker host. Ensure FUSE 3 is installed and configured before running this command. The arguments configure various aspects of the rclone mount, such as cache settings and remote access. ```bash sudo mkdir -p /var/lib/docker-plugins/rclone/config sudo mkdir -p /var/lib/docker-plugins/rclone/cache docker plugin install rclone/docker-volume-rclone:amd64 \ args="-v --links --uid=1000 --gid=1000 --async-read=true --allow-non-empty --allow-other \ --rc --rc-no-auth --rc-addr=0.0.0.0:5572 --vfs-read-ahead=128M --vfs-read-chunk-size=32M \ --vfs-read-chunk-size-limit=2G --vfs-cache-mode=full --vfs-cache-max-age=504h \ --vfs-cache-max-size=50G --buffer-size=32M --dir-cache-time=10m --timeout=10m" \ --alias rclone --grant-all-permissions ``` -------------------------------- ### Verify FUSE 3 Installation Source: https://altmount.kipsilabs.top/docs/Installation/docker-volume-plugin Check if the FUSE 3 driver is installed on your system. This is a prerequisite for the rclone Docker Volume Plugin. ```bash fusermount3 --version ``` -------------------------------- ### Copy Sample Backend Configuration Source: https://altmount.kipsilabs.top/docs/Development/setup Copy the sample configuration file to `config.yaml` in the project root. This file will be used to configure the backend server. ```bash cp config.sample.yaml config.yaml ``` -------------------------------- ### Build Backend Binary Source: https://altmount.kipsilabs.top/docs/Development/setup Build the AltMount backend executable binary. This can be done directly using `go build` or via the `make build` target. ```bash # Build binary go build -o altmount ./cmd/altmount # Or use the Makefile make build ``` -------------------------------- ### Run AltMount Server Source: https://altmount.kipsilabs.top/docs/Installation/other-methods Commands to run the AltMount server using the default or a specific configuration file, and how to access help. ```bash # Run with default config (./config.yaml) altmount serve # Run with specific config file altmount serve --config=/path/to/config.yaml # Get help altmount --help altmount serve --help ``` -------------------------------- ### POST /fuse/start Source: https://altmount.kipsilabs.top/openapi.yaml Mounts the NZB filesystem at the specified path using FUSE. ```APIDOC ## POST /fuse/start ### Description Mounts the NZB filesystem at the given path using FUSE. ### Method POST ### Endpoint /fuse/start ### Parameters #### Request Body - **path** (string) - Required - Mount path ### Response #### Success Response (200) - **APIResponse** (object) - OK #### Error Response (400, 409) - **APIResponse** (object) - Bad Request or Conflict ``` -------------------------------- ### Download and Edit AltMount Configuration Source: https://altmount.kipsilabs.top/docs/Troubleshooting/common-issues Download the sample configuration file and edit it with your specific settings using a text editor like nano. ```bash # Download sample configuration wget https://raw.githubusercontent.com/javi11/altmount/main/config.sample.yaml -O config.yaml # Edit with your settings nano config.yaml ``` -------------------------------- ### GET /user Source: https://altmount.kipsilabs.top/openapi.yaml Returns information about the currently authenticated user. ```APIDOC ## GET /user ### Description Returns information about the currently authenticated user. ### Method GET ### Endpoint /user ### Response #### Success Response (200) - **data** (UserResponse) - The authenticated user information. ``` -------------------------------- ### GET /system/update/status Source: https://altmount.kipsilabs.top/openapi.yaml Checks for available updates on Docker Hub. ```APIDOC ## GET /system/update/status ### Description Checks Docker Hub for the latest available version and returns whether an update is available. ### Method GET ### Endpoint /system/update/status ### Parameters #### Query Parameters - **channel** (string) - Optional - Release channel (latest, dev) ``` -------------------------------- ### Build Frontend for Production Source: https://altmount.kipsilabs.top/docs/Development/setup Build the frontend application for production deployment. The output will be placed in the `frontend/dist` directory. ```bash cd frontend bun run build ``` -------------------------------- ### GET /fuse/status Source: https://altmount.kipsilabs.top/openapi.yaml Returns the current status of the FUSE mount. ```APIDOC ## GET /fuse/status ### Description Returns the current status of the FUSE mount (stopped, starting, running, error). ### Method GET ### Endpoint /fuse/status ### Response #### Success Response (200) - **APIResponse** (object) - OK ``` -------------------------------- ### GET /queue/{id} Source: https://altmount.kipsilabs.top/openapi.yaml Returns a single queue item by ID. ```APIDOC ## GET /queue/{id} ### Description Returns a single queue item by ID. ### Method GET ### Endpoint /queue/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - Queue item ID ``` -------------------------------- ### GET /import/nzbdav/status Source: https://altmount.kipsilabs.top/openapi.yaml Returns the current status of the NZBDav import operation. ```APIDOC ## GET /import/nzbdav/status ### Description Returns the current status of the NZBDav import operation. ### Method GET ### Endpoint /import/nzbdav/status ### Response #### Success Response (200) - **api.APIResponse** - OK ``` -------------------------------- ### Create AltMount Configuration Directory Source: https://altmount.kipsilabs.top/docs/Installation/other-methods Create the necessary directory for AltMount configuration files. ```bash mkdir -p ~/.config/altmount cd ~/.config/altmount ``` -------------------------------- ### GET /import/history Source: https://altmount.kipsilabs.top/openapi.yaml Returns a paginated list of completed import records. ```APIDOC ## GET /import/history ### Description Returns a paginated list of completed import records. ### Method GET ### Endpoint /import/history ### Parameters #### Query Parameters - **limit** (integer) - Optional - Page size (default 50) - **offset** (integer) - Optional - Page offset ### Response #### Success Response (200) - **data** (array) - List of ImportHistoryResponse - **meta** (object) - APIMeta ``` -------------------------------- ### Run Backend and Frontend Services Source: https://altmount.kipsilabs.top/docs/Development/setup Instructions for running both the backend and frontend development servers simultaneously. This requires two separate terminal sessions. ```bash # Terminal 1 - Backend # In project root make go run ./cmd/altmount serve --config=./config.yaml # Terminal 2 - Frontend # In frontend directory cd frontend bun install bun dev ``` -------------------------------- ### GET /health/stats Source: https://altmount.kipsilabs.top/openapi.yaml Returns counts of health records grouped by status. ```APIDOC ## GET /health/stats ### Description Returns counts of health records grouped by status. ### Method GET ### Endpoint /health/stats ### Response #### Success Response (200) - **APIResponse** (object) - OK with HealthStatsResponse data #### Error Response (500) - **APIResponse** (object) - Internal Server Error ``` -------------------------------- ### GET /health/library-sync/status Source: https://altmount.kipsilabs.top/openapi.yaml Returns the current status of the library sync worker. ```APIDOC ## GET /health/library-sync/status ### Description Returns the current status of the library sync worker. ### Method GET ### Endpoint /health/library-sync/status ### Response #### Success Response (200) - **APIResponse** (object) - OK #### Error Response (503) - **APIResponse** (object) - Service Unavailable ``` -------------------------------- ### Check System Architecture Source: https://altmount.kipsilabs.top/docs/Troubleshooting/common-issues Verify your system's architecture to ensure you downloaded the correct AltMount binary (e.g., amd64 for x86_64, arm64 for aarch64). ```bash # Check your architecture uname -m ``` -------------------------------- ### GET /arrs/stats Source: https://altmount.kipsilabs.top/openapi.yaml Returns sync statistics for all configured ARR instances. ```APIDOC ## GET /arrs/stats ### Description Returns sync statistics for all configured ARR instances. ### Method GET ### Endpoint /arrs/stats ### Security - BearerAuth - ApiKeyAuth ### Responses #### Success Response (200) - **description**: OK **content**: application/json **schema**: #/components/schemas/api.APIResponse ``` -------------------------------- ### FUSE API Source: https://altmount.kipsilabs.top/docs/API/endpoints Endpoints for starting, stopping, and checking the status of FUSE mounts. ```APIDOC ## FUSE API Endpoints ### Base Path /api/fuse ### Description Provides endpoints to start, stop, and check the status of FUSE mounts. ``` -------------------------------- ### Run Frontend Tests Source: https://altmount.kipsilabs.top/docs/Development/setup Execute frontend tests using Bun. Ensure you are in the `frontend` directory before running this command. ```bash cd frontend bun test ``` -------------------------------- ### GET /system/stats Source: https://altmount.kipsilabs.top/openapi.yaml Retrieves combined queue, health, and system information statistics. ```APIDOC ## GET /system/stats ### Description Returns combined queue, health, and system information statistics. ### Method GET ### Endpoint /system/stats ### Response #### Success Response (200) - **data** (SystemStatsResponse) - Combined system statistics. ``` -------------------------------- ### Create Required Directories for AltMount Source: https://altmount.kipsilabs.top/docs/Installation/other-methods Create directories for metadata and logs within the configuration directory. ```bash mkdir -p ./metadata ./logs ``` -------------------------------- ### GET /system/pool/metrics Source: https://altmount.kipsilabs.top/openapi.yaml Fetches download/upload metrics, speed, and per-provider connection statistics. ```APIDOC ## GET /system/pool/metrics ### Description Returns download/upload metrics, speed, and per-provider connection statistics. ### Method GET ### Endpoint /system/pool/metrics ### Response #### Success Response (200) - **data** (PoolMetricsResponse) - Detailed pool metrics. ``` -------------------------------- ### GET /system/health Source: https://altmount.kipsilabs.top/openapi.yaml Retrieves the health status of all system components such as the database and workers. ```APIDOC ## GET /system/health ### Description Returns health status of all system components (database, workers, etc.). ### Method GET ### Endpoint /system/health ### Response #### Success Response (200) - **data** (SystemHealthResponse) - System health status details. ``` -------------------------------- ### Clone AltMount Repository Source: https://altmount.kipsilabs.top/docs/Development/setup Clone the AltMount repository and navigate into the project directory. This is the first step for backend development. ```bash git clone https://github.com/javi11/altmount.git cd altmount ``` -------------------------------- ### GET /import/scan/status Source: https://altmount.kipsilabs.top/openapi.yaml Returns the current status of the manual directory scan operation. ```APIDOC ## GET /import/scan/status ### Description Returns the current status of the manual directory scan operation. ### Method GET ### Endpoint /import/scan/status ### Response #### Success Response (200) - **data** (api.ScanStatusResponse) - Current scan status ``` -------------------------------- ### Download AltMount for Windows Source: https://altmount.kipsilabs.top/docs/Installation/other-methods Download the latest amd64 executable for Windows using PowerShell or curl. ```powershell # Download using PowerShell Invoke-WebRequest -Uri "https://github.com/javi11/altmount/releases/latest/download/altmount-windows-amd64.exe" -OutFile "altmount.exe" # Or download using curl (if available) curl -L -o altmount.exe https://github.com/javi11/altmount/releases/latest/download/altmount-windows-amd64.exe ``` -------------------------------- ### GET /health/corrupted Source: https://altmount.kipsilabs.top/openapi.yaml Returns a paginated list of health records with corrupted status. ```APIDOC ## GET /health/corrupted ### Description Returns a paginated list of health records with corrupted status. ### Method GET ### Endpoint /health/corrupted ### Parameters #### Query Parameters - **limit** (integer) - Optional - Page size (default 50) - **offset** (integer) - Optional - Page offset ### Response #### Success Response (200) - **data** (array) - List of corrupted health items - **meta** (api.APIMeta) - Pagination metadata #### Error Response (500) - **api.APIResponse** (object) - Internal Server Error ``` -------------------------------- ### Get Configuration Source: https://altmount.kipsilabs.top/openapi.yaml Returns the current AltMount configuration with sensitive values masked. ```APIDOC ## GET /config ### Description Returns the current AltMount configuration with sensitive values masked. ### Method GET ### Endpoint /config ### Response #### Success Response (200) - **description** (string) - OK #### Response Example ```json { "description": "OK", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/api.APIResponse" }, { "properties": { "data": { "$ref": "#/components/schemas/api.APIResponse" } }, "type": "object" } ] } } } } ``` ``` -------------------------------- ### GET /arrs/health Source: https://altmount.kipsilabs.top/openapi.yaml Returns health check results from all configured Sonarr/Radarr instances. ```APIDOC ## GET /arrs/health ### Description Returns health check results from all configured Sonarr/Radarr instances. ### Method GET ### Endpoint /arrs/health ### Security - BearerAuth - ApiKeyAuth ### Responses #### Success Response (200) - **description**: OK **content**: application/json **schema**: #/components/schemas/api.APIResponse ``` -------------------------------- ### Configure Provider Endpoints Source: https://altmount.kipsilabs.top/docs/Troubleshooting/common-issues Set up provider host details and connection limits. ```yaml providers: - host: "fastest-endpoint.com" # Use fastest endpoint max_connections: 30 # Increase if provider allows tls: true ``` -------------------------------- ### Backup Configuration File Source: https://altmount.kipsilabs.top/docs/Troubleshooting/common-issues Creates a timestamped backup of the current configuration file. ```bash cp config.yaml config.yaml.backup.$(date +%Y%m%d) ``` -------------------------------- ### GET /health/worker/status Source: https://altmount.kipsilabs.top/openapi.yaml Returns the current status and statistics of the background health check worker. ```APIDOC ## GET /health/worker/status ### Description Returns the current status and statistics of the background health check worker. ### Method GET ### Endpoint /health/worker/status ### Response #### Success Response (200) - **APIResponse** (object) - OK with HealthWorkerStatusResponse data ``` -------------------------------- ### GET /health Source: https://altmount.kipsilabs.top/openapi.yaml Retrieves a paginated list of file health records with optional filters. ```APIDOC ## GET /health ### Description Returns a paginated list of file health records with optional status/search filters. ### Method GET ### Endpoint /health ### Parameters #### Query Parameters - **status** (string) - Optional - Filter by status (pending, checking, corrupted, repair_triggered, healthy) - **search** (string) - Optional - Search by file path - **sort_by** (string) - Optional - Sort field (file_path, created_at, status, priority, last_checked, scheduled_check_at) - **sort_order** (string) - Optional - Sort direction (asc, desc) - **since** (string) - Optional - ISO8601 timestamp filter - **limit** (integer) - Optional - Page size (default 50) - **offset** (integer) - Optional - Page offset ### Response #### Success Response (200) - **data** (array) - List of HealthItemResponse - **meta** (object) - APIMeta ``` -------------------------------- ### Frontend Linting and Checking Source: https://altmount.kipsilabs.top/docs/Development/setup Commands to run linting and type checking for the frontend application using Bun. ```bash cd frontend bun run lint bun run check ``` -------------------------------- ### Backend Development Commands Source: https://altmount.kipsilabs.top/docs/Development/setup A collection of Make targets for common backend development tasks such as checking, testing, linting, and building. ```bash # Run all checks (linting, tests, etc.) make check # Run tests make test # Run tests with race detection make test-race # Run linting make lint # Generate code make generate # Run vulnerability checks make govulncheck # Build the application make build # Clean up generated files make clean ``` -------------------------------- ### Get stream history Source: https://altmount.kipsilabs.top/openapi.yaml Retrieves a history of recently completed NZB file streams. ```APIDOC ## GET /files/streams/history ### Description Returns a history of recently completed NZB file streams. ### Method GET ### Endpoint /files/streams/history ### Response #### Success Response (200) - **api.APIResponse** - Description depends on the schema definition. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### GET /arrs/instances/{type}/{name} Source: https://altmount.kipsilabs.top/openapi.yaml Returns a specific Sonarr/Radarr instance by type and name. ```APIDOC ## GET /arrs/instances/{type}/{name} ### Description Returns a specific Sonarr/Radarr instance by type and name. ### Method GET ### Endpoint /arrs/instances/{type}/{name} ### Parameters #### Path Parameters - **type** (string) - Required - Instance type (sonarr or radarr) - **name** (string) - Required - Instance name ### Security - BearerAuth - ApiKeyAuth ### Responses #### Success Response (200) - **description**: OK **content**: application/json **schema**: #/components/schemas/api.APIResponse #### Error Response (404) - **description**: Not Found **content**: application/json **schema**: #/components/schemas/api.APIResponse ``` -------------------------------- ### POST /system/update/apply Source: https://altmount.kipsilabs.top/openapi.yaml Applies system updates by pulling the latest Docker image and restarting the container. ```APIDOC ## POST /system/update/apply ### Description Pulls the latest Docker image and restarts the container to apply the update. ### Method POST ### Endpoint /system/update/apply ### Request Body - **channel** (string) - Update channel (latest or dev). ``` -------------------------------- ### GET /queue/{id}/download Source: https://altmount.kipsilabs.top/openapi.yaml Downloads the original NZB file associated with a queue item. ```APIDOC ## GET /queue/{id}/download ### Description Downloads the original NZB file associated with a queue item. ### Method GET ### Endpoint /queue/{id}/download ### Parameters #### Path Parameters - **id** (integer) - Required - Queue item ID ``` -------------------------------- ### GET /health/library-sync/needed Source: https://altmount.kipsilabs.top/openapi.yaml Returns whether a library sync is needed based on current configuration state. ```APIDOC ## GET /health/library-sync/needed ### Description Returns whether a library sync is needed based on current configuration state. ### Method GET ### Endpoint /health/library-sync/needed ### Response #### Success Response (200) - **api.APIResponse** (object) - OK ``` -------------------------------- ### Register Webhooks via API Source: https://altmount.kipsilabs.top/docs/Configuration/integration Enable instant import notifications by registering webhooks via the API. ```bash curl -X POST http://localhost:8080/api/arrs/webhook/register \ -H "Authorization: Bearer " ``` -------------------------------- ### GET /health/{id} Source: https://altmount.kipsilabs.top/openapi.yaml Retrieves the details of a single health record using its unique identifier. ```APIDOC ## GET /health/{id} ### Description Returns a single health record by ID. ### Method GET ### Endpoint /health/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - Health record ID ### Response #### Success Response (200) - **data** (HealthItemResponse) - The health record details ``` -------------------------------- ### Run AltMount from Configuration Directory Source: https://altmount.kipsilabs.top/docs/Troubleshooting/common-issues Ensure you are running the AltMount serve command from the directory where your config.yaml file is located. ```bash # Run from directory containing config.yaml cd /path/to/altmount/config ./altmount serve ``` -------------------------------- ### General Configuration API Source: https://altmount.kipsilabs.top/docs/API/endpoints Endpoints for getting, updating, patching, reloading, and validating general AltMount configuration. ```APIDOC ## General Configuration Endpoints ### Base Path /api/config ### Description Provides endpoints to get, update, patch, reload, and validate the general AltMount configuration. ``` -------------------------------- ### Check Available System Resources Source: https://altmount.kipsilabs.top/docs/Troubleshooting/common-issues Use `free -h` and `df -h` to check available memory and disk space, respectively. Resource availability is crucial for application performance and stability. ```bash # Available resources free -h df -h ``` -------------------------------- ### POST /system/restart Source: https://altmount.kipsilabs.top/openapi.yaml Schedules a graceful system restart with an optional force flag. ```APIDOC ## POST /system/restart ### Description Schedules a graceful system restart. Use force=true to skip safety checks. ### Method POST ### Endpoint /system/restart ### Request Body - **SystemRestartRequest** (object) - Restart options. ### Response #### Success Response (200) - **data** (SystemRestartResponse) - Restart operation status. ``` -------------------------------- ### Configure Swap Space Source: https://altmount.kipsilabs.top/docs/Troubleshooting/common-issues Create and enable a swap file to handle high memory demand. ```bash # Increase swap space if needed sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile ``` -------------------------------- ### Get Queue Statistics Source: https://altmount.kipsilabs.top/openapi.yaml Returns current queue statistics, including counts by status and average processing time. ```APIDOC ## GET /queue/stats ### Description Returns current queue statistics (counts by status, average processing time). ### Method GET ### Endpoint /queue/stats ### Responses #### Success Response (200) - **data** (object) - Contains queue statistics, referencing `api.QueueStatsResponse`. #### Error Response (500) Internal Server Error ``` -------------------------------- ### Create Mount Point for rclone Source: https://altmount.kipsilabs.top/docs/Installation/other-methods Commands to create a directory for mounting the WebDAV share on Linux/macOS and a note for Windows. ```bash # Linux/macOS sudo mkdir -p /mnt/remotes/altmount sudo chown $USER:$USER /mnt/remotes/altmount # Windows (PowerShell as Administrator) # Creates a network drive mapping ``` -------------------------------- ### Get Auth Configuration Source: https://altmount.kipsilabs.top/openapi.yaml Returns authentication configuration (login required flag, available providers). This is a public endpoint. ```APIDOC ## GET /auth/config ### Description Returns authentication configuration (login required flag, available providers). Public endpoint. ### Method GET ### Endpoint /auth/config ### Response #### Success Response (200) - **description** (string) - OK #### Response Example ```json { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/api.APIResponse" } } } } ``` ``` -------------------------------- ### Configuration API Source: https://altmount.kipsilabs.top/api-explorer Endpoints for managing AltMount configuration, including getting, updating, patching, reloading, and validating settings. ```APIDOC ## GET /config ### Description Get configuration. ### Method GET ### Endpoint /config ## PUT /config ### Description Update configuration. ### Method PUT ### Endpoint /config ## PATCH /config/{section} ### Description Patch configuration section. ### Method PATCH ### Endpoint /config/{section} ## POST /config/reload ### Description Reload configuration. ### Method POST ### Endpoint /config/reload ## POST /config/validate ### Description Validate configuration. ### Method POST ### Endpoint /config/validate ``` -------------------------------- ### Register Download Client via API Source: https://altmount.kipsilabs.top/docs/Configuration/integration Programmatically register AltMount as a download client in Sonarr or Radarr using the API. ```bash curl -X POST http://localhost:8080/api/arrs/download-client/register \ -H "Authorization: Bearer " ``` -------------------------------- ### Mount AltMount WebDAV using rclone (Windows) Source: https://altmount.kipsilabs.top/docs/Installation/other-methods Mount the AltMount WebDAV share on Windows using rclone with specified cache and buffer settings. ```bash # Windows rclone mount altmount: Z: \ --vfs-cache-mode writes \ --vfs-read-chunk-size 32M \ --buffer-size 64M ``` -------------------------------- ### POST /arrs/download-client/register Source: https://altmount.kipsilabs.top/openapi.yaml Automatically registers AltMount as a download client (SABnzbd-compatible) in all configured ARR instances. ```APIDOC ## POST /arrs/download-client/register ### Description Automatically registers AltMount as a download client (SABnzbd-compatible) in all configured ARR instances. ### Method POST ### Endpoint /arrs/download-client/register ### Security - BearerAuth - ApiKeyAuth ### Responses #### Success Response (200) - **description**: OK **content**: application/json **schema**: #/components/schemas/api.APIResponse #### Error Response (500) - **description**: Internal Server Error **content**: application/json **schema**: #/components/schemas/api.APIResponse ``` -------------------------------- ### Get Download Queue Source: https://altmount.kipsilabs.top/openapi.yaml Retrieves a paginated list of items in the NZB download queue, with options for filtering, searching, and sorting. ```APIDOC ## GET /websites/altmount_kipsilabs_top/queue ### Description Returns a paginated list of NZB download queue items with optional filters. ### Method GET ### Endpoint /queue #### Query Parameters - **status** (string) - Optional - Filter by status (pending, processing, completed, failed) - **search** (string) - Optional - Search by filename - **sort_by** (string) - Optional - Sort field (created_at, updated_at, status, nzb_path) - **sort_order** (string) - Optional - Sort direction (asc, desc) - **since** (string) - Optional - ISO8601 timestamp filter - **limit** (integer) - Optional - Page size (default 50) - **offset** (integer) - Optional - Page offset ### Response #### Success Response (200) - **data** (array) - An array of queue items, where each item is an object conforming to `api.QueueItemResponse` #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Configure STRM Import Strategy Source: https://altmount.kipsilabs.top/docs/Configuration/integration Generates .strm files containing WebDAV URLs for media players that support direct HTTP resolution. ```yaml # Replace with your actual AltMount hostname/port if changed mount_path: http://altmount:8080 import: import_strategy: STRM import_dir: /mnt/strm/altmount ``` -------------------------------- ### Monitor System Resources Source: https://altmount.kipsilabs.top/docs/Troubleshooting/common-issues Use standard Linux utilities to monitor CPU, memory, and disk I/O performance. ```bash # Check CPU and memory usage top htop # Check disk I/O iotop iostat -x 1 ``` -------------------------------- ### Register User Source: https://altmount.kipsilabs.top/openapi.yaml Creates the first admin user account. This is only allowed when no users exist yet. ```APIDOC ## POST /auth/register ### Description Creates the first admin user account. Only allowed when no users exist yet. ### Method POST ### Endpoint /auth/register ### Parameters #### Request Body - **content** (object) - Required - Registration details ### Request Example ```json { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/api.RegisterRequest" } } } } ``` ### Response #### Success Response (201) - **description** (string) - Created - **data** (object) - Contains authentication response details, including the JWT access token. #### Response Example ```json { "description": "Created", "content": { "application/json": { "schema": { "allOf": [ { "$ref": "#/components/schemas/api.APIResponse" }, { "properties": { "data": { "$ref": "#/components/schemas/api.AuthResponse" } }, "type": "object" } ] } } } } ``` #### Error Response (400) - **description** (string) - Bad Request #### Response Example ```json { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/api.APIResponse" } } } } ``` #### Error Response (409) - **description** (string) - Conflict #### Response Example ```json { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/api.APIResponse" } } } } ``` ``` -------------------------------- ### Get Historical Queue Statistics Source: https://altmount.kipsilabs.top/openapi.yaml Returns historical import statistics over a rolling window (last 24h, 7d, 30d, 365d). ```APIDOC ## GET /queue/stats/history ### Description Returns historical import statistics over a rolling window (last 24h, 7d, 30d, 365d). ### Method GET ### Endpoint /queue/stats/history ### Query Parameters - **days** (integer) - Required - Number of days of history (default 1, max 365) ### Responses #### Success Response (200) - **data** (object) - Contains historical queue statistics, referencing `api.QueueHistoricalStatsResponse`. #### Error Response (500) Internal Server Error ``` -------------------------------- ### Enable Stremio Integration in config.yaml Source: https://altmount.kipsilabs.top/docs/Configuration/stremio Configure AltMount to enable Stremio integration and set the NZB cache duration. The base_url can be optionally set if auto-detection is incorrect. ```yaml stremio: enabled: true nzb_ttl_hours: 24 base_url: "" prowlarr: enabled: true host: "http://localhost:9696" api_key: "YOUR_PROWLARR_API_KEY" categories: [2000, 2010, 2030, 2040, 2045, 2060, 5000, 5010, 5030, 5040] languages: [] qualities: [] ``` -------------------------------- ### Get file metadata Source: https://altmount.kipsilabs.top/openapi.yaml Retrieves metadata for a mounted NZB file, including segment information, encryption status, and overall status. ```APIDOC ## GET /files/info ### Description Returns metadata for a mounted NZB file including segment info, encryption, and status. ### Method GET ### Endpoint /files/info #### Query Parameters - **path** (string) - Required - Virtual path to the file ### Response #### Success Response (200) - **api.APIResponse** - Description depends on the schema definition. - **data** (api.FileMetadataResponse) - File metadata details. #### Error Response (400) - **api.APIResponse** - Description depends on the schema definition. #### Error Response (500) - **api.APIResponse** - Description depends on the schema definition. #### Response Example ```json { "example": "response body" } ``` ``` -------------------------------- ### Browse Filesystem Source: https://altmount.kipsilabs.top/openapi.yaml Lists filesystem entries at a given path for directory/file picker UIs. ```APIDOC ## GET /system/browse ### Description Lists filesystem entries at a given path for directory/file picker UIs. ### Method GET ### Endpoint /system/browse ### Parameters #### Query Parameters - **path** (string) - Optional - Directory path to browse (defaults to root) ### Responses #### Success Response (200) - **api.APIResponse** (object) - OK #### Error Response (400) - **api.APIResponse** (object) - Bad Request ``` -------------------------------- ### PUT /config Source: https://altmount.kipsilabs.top/openapi.yaml Replaces the entire AltMount configuration. Triggers restart if required. ```APIDOC ## PUT /config ### Description Replaces the entire AltMount configuration. Triggers restart if required. ### Method PUT ### Endpoint /config ### Request Body - **Complete configuration object** (object) - Required - The complete configuration object to be applied. ### Security - BearerAuth - ApiKeyAuth ### Responses #### Success Response (200) - **message** (string) - OK message. #### Error Response (400) - **message** (string) - Bad Request error message. ``` -------------------------------- ### Configure WebDAV Settings in AltMount Source: https://altmount.kipsilabs.top/docs/Installation/other-methods Optional configuration for WebDAV server, specifying port, user, and password. ```yaml webdav: port: 8080 user: "usenet" password: "usenet" ```