All apps · 0 apps
mularr
Docker app from JoeCarl's Repository
Overview
Mularr is a powerful integration for aMule that provides a functional web interface with a nostalgia-infused retro touch. It bridges the gap between classic P2P and modern automation tools by offering qBittorrent-compatible APIs and Torznab indexers, making it seamless to use aMule with apps like Sonarr and Radarr.
Key features:
- *Arr integration: native support for Sonarr/Radarr via qBittorrent and Torznab API compatibility (API Path: /api/as-torznab-indexer, URL Base: /api/as-qbittorrent).
- Bundled aMule daemon: no separate aMule container needed.
- Telegram integration: download-complete notifications via bot, and optional use of the Telegram network as a download provider.
- VPN ready: built-in Gluetun health checks and automatic forwarded-port updates (set GLUETUN_ENABLED=true and route this container through your Gluetun container).
- Retro-style responsive web UI with multiple themes (Windows XP Classic, Windows 11 Experimental).
Notes:
- The container runs as UID 1000 by default. On most Unraid systems this works out of the box; if you hit permission errors on your shares, add '--user 99:100' in Extra Parameters to run as nobody:users.
- If no AUTH_USERNAME/AUTH_PASSWORD is set, the web UI and API are open without authentication. Set them if the port is reachable from untrusted networks.
- For a HighID on the eD2k network, keep the eD2k TCP/UDP port mappings and forward them in your router (not needed when routing through Gluetun with port forwarding).
Readme
View on GitHub
Mularr
Mularr is a powerful integration for aMule that provides a functional web interface with a nostalgia-infused retro touch. It bridges the gap between classic P2P and modern automation tools by offering qBittorrent-compatible APIs and Torznab indexers, making it seamless to use aMule with apps like Sonarr and Radarr.
It also includes an extension to use the Telegram Network as a download provider. This requires a real account (not a bot) to access groups/channels with media files.
Key Features
- *Arr Integration: Native support for Sonarr/Radarr via qBittorrent & Torznab API compatibility.
- Docker Ready: Easy deployment using Docker and Docker Compose.
- Telegram Integration:
- Notifications: Get notified of your downloads via a Telegram bot.
- Provider: Use the Telegram network for searching and downloading files.
- 🛡️ VPN Ready: Built-in support for Gluetun health checks and automatic port updates.
- Retro-Style Web Interface: A fully responsive UI with a nostalgic Windows XP feel. Includes multiple themes like Classic, Windows 11, Hacker and Modern.
- Built with Chispa.
Quick Start with Docker 🐳
The easiest way to get Mularr running is using Docker Compose:
services:
mularr:
image: ghcr.io/joecarl/mularr
container_name: mularr
restart: unless-stopped
ports:
- '8940:8940'
volumes:
- ./data:/app/data
# Check docker-compose.example.yml for a full configuration guide
Run it with:
docker-compose up -d
Access the web UI at http://localhost:8940.
Screenshots
Mularr ships with multiple themes:
Modern & Hacker Mode
Dashboard view
Windows XP
Dashboard, Transfers and Settings view
Windows Classic
Dashboard, Transfers and Settings view
Integrate with Sonarr / Radarr
You can configure Mularr as both an indexer and a download client.
[!TIP] In Sonarr/Radarr's configuration forms, click Show Advanced to reveal all required fields.
To configure as indexer use the following settings:
- Type: Torznab
- API Path:
/api/as-torznab-indexer
To configure as download client use the following settings:
- Type: qBittorrent
- URL Base:
/api/as-qbittorrent
Tech Stack
Mularr is built primarily with TypeScript.
| Component | Technology |
|---|---|
| Frontend | Chispa + Vite |
| Backend | Node.js + Express |
| Database | SQLite (better-sqlite3) |
💻 Development Setup
If you want to contribute or run Mularr you need docker & VS Code devcontainers. Open the project in the devcontainer and it automatically installs the needed dependencies.
Then you can start the application in dev mode:
1. Backend Setup
cd backend
npm run dev
2. Frontend Setup
cd frontend
npm run dev
Production Build
The included Dockerfile handles everything for you. It builds the frontend and bundles it with the backend for a single-image deployment.
docker build -t mularr .
Contributing
To contribute, follow the standard process:
- Fork the Project
- Create your feature branch & Commit your changes
- Open a Pull Request
Any contributions you make are greatly appreciated.
License
MIT
Made with ❤️ for the P2P Community
Media gallery
1 / 2Install Mularr on Unraid in a few clicks.
Find Mularr in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Requirements
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/joecarl/mularr:latestRuntime arguments
- Web UI
http://[IP]:[PORT:8940]- Network
bridge- Shell
bash- Privileged
- false
Template configuration
Port for the Mularr web interface and API.
- Target
- 8940
- Default
- 8940
- Value
- 8940
aMule eD2k TCP port. Forward it in your router to get a HighID. Remove if routing through Gluetun.
- Target
- 4662
- Default
- 4662
- Value
- 4662
aMule eD2k UDP port (Kad and extended protocol). Forward it in your router. Remove if routing through Gluetun.
- Target
- 4672
- Default
- 4672
- Value
- 4672
Persistent data: SQLite database and aMule configuration.
- Target
- /app/data
- Default
- /mnt/user/appdata/mularr
- Value
- /mnt/user/appdata/mularr
Download storage. Completed files go to /downloads, in-progress files to /downloads/.incomplete (see AMULE_INCOMING_DIR / AMULE_TEMP_DIR).
- Target
- /downloads
- Default
- /mnt/user/downloads/mularr
- Value
- /mnt/user/downloads/mularr
Username for the web UI and the qBittorrent-compatible API. Leave both auth fields empty to disable authentication (not recommended).
Password for the web UI and the qBittorrent-compatible API.
API key to authenticate requests from other apps without login (needed for the Torznab integration with Sonarr/Radarr). Can also be used as password with username 'apikey' for the qBittorrent API.
Secret used to sign JSON Web Tokens. If not set, a random secret is generated on startup and existing sessions are invalidated after each restart.
Directory (inside the container) where completed downloads are stored.
- Default
- /downloads
- Value
- /downloads
Directory (inside the container) for in-progress downloads.
- Default
- /downloads/.incomplete
- Value
- /downloads/.incomplete
Semicolon-separated absolute container paths to share recursively. When set, shared directories are managed at startup and become read-only in Settings.
Semicolon-separated absolute container paths to share (non-recursive).
How often (in hours) the monitoring service automatically restarts the aMule daemon. Set to 0 to disable.
- Default
- 12
- Value
- 12
Telegram bot token for notifications about system events and transfer completions.
Telegram chat ID for notifications.
Telegram topic ID for notifications (optional, for forum-style groups).
Set to true when routing this container through a Gluetun container so the VPN forwarded port is automatically applied to aMule.
- Default
- false
- Value
- false
Gluetun control server API URL.
- Default
- http://localhost:8000/v1
- Value
- http://localhost:8000/v1
When Gluetun forwards multiple ports, index of the 'ports' array to use instead of the default 'port' value. Leave empty for default behavior.