1
0
Fork 0
mirror of https://github.com/javi11/altmount.git synced 2026-06-02 04:23:16 -07:00
usenet virtual fs
  • Go 74.1%
  • TypeScript 25.1%
  • Shell 0.3%
  • PLpgSQL 0.2%
  • Dockerfile 0.1%
  • Other 0.1%
Find a file
2026-06-01 11:10:00 +02:00
.github feat(updater): auto-update for non-Docker standalone installs (#526) 2026-04-22 16:29:51 +02:00
.vscode perf(fuse): add metadata LRU cache and refactor FUSE read path to use ReadAt (#484) 2026-04-11 17:56:06 +02:00
cmd/altmount fix(logging): apply log level changes dynamically without restart (#625) 2026-05-28 08:25:19 +02:00
config Revert "feat: Added config switches to disable file renaming and Sample/Proof filtering" (#434) 2026-03-22 16:16:23 +01:00
docker feat(system): add auto-update, fix peak speed reporting, and granular reset stats (#375) 2026-03-03 17:18:34 +01:00
docs docs(api): clarify JWT vs API key authentication (#571) (#572) 2026-05-12 18:36:46 +02:00
frontend Cleanup codebase, optimize hot paths, and resolve Sportarr indexer (#643) 2026-06-01 11:10:00 +02:00
internal Cleanup codebase, optimize hot paths, and resolve Sportarr indexer (#643) 2026-06-01 11:10:00 +02:00
pkg/rclonecli Cleanup codebase, optimize hot paths, and resolve Sportarr indexer (#643) 2026-06-01 11:10:00 +02:00
.dockerignore feat(ui): Enhance Queue/Import experience, strict metrics & cleanup (#312) 2026-02-21 20:33:33 +01:00
.DS_Store Add PAR2 file support with database integration and processing logic 2025-08-11 13:36:43 +02:00
.gitignore feat(windows): embed long-path-aware manifest in CLI binary (#587) (#610) 2026-05-24 17:11:49 +02:00
.golangci.yml refactor: clean up code by handling errors and improving logging in various handlers 2025-09-04 16:07:45 +02:00
bench_fuse.sh perf(fuse): eagerly start download pipeline to reduce playback TTFB (#505) 2026-04-16 00:25:27 +02:00
CLAUDE.md fix(fuse): handle context cancellation as debug logs, not errors (#291) 2026-02-13 19:38:30 +01:00
config.sample.yaml fix(config): unify library_sync_concurrency default to 5 (#617) 2026-05-25 20:04:17 +02:00
docker-compose-dev.yml feat(system): add auto-update, fix peak speed reporting, and granular reset stats (#375) 2026-03-03 17:18:34 +01:00
docker-compose.volume-plugin.example feat(system): add auto-update, fix peak speed reporting, and granular reset stats (#375) 2026-03-03 17:18:34 +01:00
docker-compose.yml feat(system): add auto-update, fix peak speed reporting, and granular reset stats (#375) 2026-03-03 17:18:34 +01:00
go.mod Cleanup codebase, optimize hot paths, and resolve Sportarr indexer (#643) 2026-06-01 11:10:00 +02:00
go.sum Cleanup codebase, optimize hot paths, and resolve Sportarr indexer (#643) 2026-06-01 11:10:00 +02:00
LICENSE Initial commit 2025-08-10 13:39:58 +02:00
Makefile feat(windows): embed long-path-aware manifest in CLI binary (#587) (#610) 2026-05-24 17:11:49 +02:00
README.md feat(windows): embed long-path-aware manifest in CLI binary (#587) (#610) 2026-05-24 17:11:49 +02:00

AltMount

AltMount Logo

A WebDAV server backed by NZB/Usenet that provides seamless access to Usenet content through standard WebDAV protocols.

"Buy Me A Coffee"

📖 Documentation

View Full Documentation →

Complete setup guides, configuration options, API reference, and troubleshooting information.

Quick Start

services:
  altmount:
    extra_hosts:
      - "host.docker.internal:host-gateway" # Optional if you rclone is outside the container
    image: ghcr.io/javi11/altmount:latest
    container_name: altmount
    environment:
      - PUID=1000
      - PGID=1000
      - PORT=8080
      - JWT_SECRET=change-me-to-a-strong-random-secret # Required when login is enabled (auth.login_required: true)
      - COOKIE_DOMAIN=localhost # Must match the domain/IP where web interface is accessed
    volumes:
      - ./config:/config
      - /mnt:/mnt:rshared
      - /metadata:/metadata # This is optional you can still use /mnt
      - /var/run/docker.sock:/var/run/docker.sock # Required for the auto-update feature
    group_add:
      - "999" # GID of the docker group on the host (run `getent group docker | cut -d: -f3` to find yours)
    ports:
      - "8080:8080"
    restart: unless-stopped
    devices:
      - /dev/fuse:/dev/fuse:rwm
    cap_add:
      - SYS_ADMIN
    security_opt:
      - apparmor:unconfined

CLI Installation

go install github.com/javi11/altmount@latest
altmount serve --config config.yaml

Windows: Enable Long Path Support

The Windows AltMount binaries are built with a long-path-aware manifest, which opts the process in to paths longer than the legacy MAX_PATH (260 character) limit. However, Windows also requires the matching system-wide setting to be enabled before long paths actually work — without it, you may see errors like The filename or extension is too long when accessing deeply nested releases.

Enable it once per machine in an elevated PowerShell prompt (Run as administrator), then restart AltMount:

New-ItemProperty `
  -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" `
  -Name "LongPathsEnabled" `
  -Value 1 `
  -PropertyType DWORD `
  -Force

Equivalent via Group Policy: Computer Configuration → Administrative Templates → System → Filesystem → Enable Win32 long paths.

This setting requires Windows 10 version 1607 (build 14393) or newer. A reboot is not strictly required, but any already-running process — including AltMount and your file manager — needs to be restarted to pick up the change.

Contributing

See the Development Guide. Development/setup for information on setting up a development environment and contributing to the project.

License

This project is licensed under the terms specified in the LICENSE file.