HRConvert2

HRConvert2

Docker app from grtgbln's Repository

Overview

A self-hosted drag-and-drop file conversion server and file sharing tool that supports 400+ file formats.

HRConvert2

🔁 HRConvert2

Self-Hosted, Resource-Aware, Public-Facing File Conversion Server
No database. No cookies. No tracking. Nothing leaves your server.

Get Started · Documentation · Docker Image

The HRConvert2 options interface


🔒 Why HRConvert2?

Every free online file converter is actually a data collection business in disguise. Upload a contract, medical scan, or proprietary CAD file? You just handed it to a stranger with an ad network.

HRConvert2 is different. Same convenience. Zero compromise.

  • Conversions happen on your machine using local tools
  • Users need no account and leave no trace
  • Runs on a Raspberry Pi
  • Workflow: Drag, drop, convert, download

🛡️ The Privacy Promise

Feature What You Get
Nothing transmitted Conversions run locally only
No accounts or sessions Users are temporary directories
Zero tracking No analytics, telemetry, or CDN
Auto-delete files Configurable age-based cleanup
Isolated storage Users cannot see each other's files

⚡ Quick Start

🧩 Traditional Install (30 seconds)

git clone https://github.com/zelon88/HRConvert2
sudo bash HRConvert2/Documentation/Build/hrconvert2-setup.sh

The installer handles everything:

  • Pulls all dependencies
  • Creates storage
  • Sets up AppArmor profile & PHP settings
  • Installs systemd unit
  • Reports what's working

Then open http://your-server/HRProprietary/HRConvert2/convertCore.php and start converting.

Pro tip: Add -y to skip confirmations.

🐳 Docker

docker run -d -p 8080:80 --cap-add SYS_ADMIN zelon88/hrconvert2

Note: SYS_ADMIN is required for the security sandbox. Without it, HRConvert2 refuses conversions rather than running unprotected.

🛠️ Troubleshooting

sudo php convertCore.php -fp

This fixes 99% of issues and reports exactly what it corrected.

sudo php convertCore.php -v

This validates every installed component, every dependency, every feature. Everything. An extremely powerful diagnostic tool.


📦 Supported Formats: 488 Total

Category Examples
Documents doc, docx, txt, rtf, odt, pdf
Video mp4, mkv, avi, mov, webm, flv, + 50+ more
Audio mp3, flac, aac, wav, opus, wma, + 30+ more
Spreadsheets csv, xls, xlsx, ods
Presentations pptx, ppt, odp
Images jpg, png, gif, webp, svg, ico, heic
Archives zip, rar, 7z, tar, gz, bz2
E-Books epub, mobi, azw, azw3, azw4
3D Models obj, stl, dxf, collada, ply
Technical OpenSCAD, CAD drawings, vector graphics
Bootable ISO x86, ARM, UEFI, MBR/GPT hybrid
OCR Extract text from images and PDFs
Live Streams Capture and convert .m3u8 playlists
Subtitles srt, vtt, ass, sub, sbv, ttml, + more

🔐 Security by Design

HRConvert2 is built for public-facing deployment—which means it's built to be attacked. Every protection is there for a reason.

🧰 Sandboxing

Every conversion dependency runs inside a bubblewrap namespace:

  • ImageMagick, FFmpeg, Inkscape, OpenSCAD—all isolated
  • Each process sees only its input (read-only) and output directories
  • Network is unshared—no external URL handlers
  • No sandbox = no conversion (HRConvert2 refuses rather than takes risks)

🛡️ Multi-Layer Protections

  • Session identifiers derived from a per-install secret (CSPRNG)
  • Dependencies version-pinned and verified at runtime
  • Uploads sanitized before any tool touches them
  • Stream URLs fully inspected before FFmpeg sees them
  • Updates require shell access (not guessable secrets)
  • Every error documented with cause and solution

🌐 26 Languages Built In

Users switch languages instantly from the interface—no language packs to install:

English Français Español 中文
हिन्दी العربية Русский Українська
বাংলা Deutsch 한국어 Italiano
Português Tiếng Việt Türkçe 日本語
Bahasa Indonesia Polski Nederlands Kiswahili
မြန်မာ اردو فارسی עברית

RTL Support: Arabic, Hebrew, Persian, Urdu, and Syriac display with proper right-to-left layouts.

Community-Driven: Adding a language is as simple as adding one folder. No core code changes required.


🎨 Customizable Interfaces & Appearance

Users can personalize their experience:

  • 3 interface layouts: Default, Wide, Original
  • 7 color schemes: Red, Green, Blue, Grey, Orange, Purple, Dark
  • In-page switching: No reload needed

Admins can lock down preferences in config.php. Each interface lives in its own folder—fork and brand it however you want without touching the core.


🚀 Advanced Features

⚙️ Resource-Aware Load Management (Optional)

Turn on smart resource management to prevent overload:

  • CPU & memory caps scale with system load
  • Runaway conversions auto-terminate
  • Storage spans multiple disks (round-robin, least-active, or failover)
  • System watchdog monitors everything

Key design: Fails open. No budget socket? Conversion runs anyway. Nothing can take your server offline.

💻 Command-Line Control

Everything is manageable from the terminal:

php convertCore.php -v              # Version & dependency check
php convertCore.php --status        # System state
php convertCore.php -u=latest       # Update to newest release
php convertCore.php -c=now          # Clean all expired sessions
php convertCore.php -fp             # Fix permissions & repair
php convertCore.php --config        # Interactive config wizard
php convertCore.php -l              # Start resource listener
php convertCore.php -k              # Stop resource listener

Full command reference

🗄️ Storage Distribution

Span storage across multiple drives with your choice of strategy:

  • Round-robin for even distribution
  • Least-active for dynamic load balancing
  • Redundant for failover protection

🔄 Auto-Update with Rollback

php convertCore.php -u=latest

Updates pull a release, merge your config, swap atomically, then verify. Can't run? Automatically rolls back to the previous version.


🧾 System Requirements

Requirement Minimum
OS Debian or Ubuntu Linux
Web Server Apache 2.4
PHP 8.0 or later
Hardware Raspberry Pi Model B+ (any x86/x64 is comfortable)
Sandbox Bubblewrap (required and non-negotiable)

The installer handles all dependencies. Seriously—just run the script.


🤝 Contributing

Contributions are welcome:

  • Language translations — Just add a folder
  • Interface themes — Fork a UI folder and get creative
  • Bug reports — Include reproduction steps
  • Security reports — Open an issue (we take them seriously)

The architecture is deliberately modular: a language is a folder, an interface is a folder. Neither requires touching the core.


📜 License

GNU General Public License v3.0

Free to use. Free to modify. Free to self-host.

If you improve it, send it back.


Made for privacy-conscious developers
@zelon88

Install HRConvert2 on Unraid in a few clicks.

Find HRConvert2 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.

Open the Apps tab on your Unraid server Search Community Apps for HRConvert2 Review the template variables and paths Click Install

Download Statistics

65,084
Total Downloads
11,154
This Month
4,522
Avg / Month

Total Downloads Over Time

Loading chart...

Details

Repository
zelon88/hrconvert2:latest
Last Updated2026-08-25
First Seen2024-10-03

Runtime arguments

Web UI
http://[IP]:[PORT:80]
Network
bridge
Privileged
false

Template configuration

Web UI PortPorttcp

Container Port: 80

Target
80
Default
8435
Value
8435