Commit graph

7 commits

Author SHA1 Message Date
root
ef2d74a62b fix: remove qemu-utils from installer + configurable storage path
1. Removed qemu-utils from required packages — Proxmox ships its own
   qemu-img and installing Debian's version breaks VMs. Added preflight
   check: if qemu-img missing, exits with clear error message.

2. Installer now prompts for host storage path (default:
   /mnt/pve/hosted-thin). Uses it for the LXC bind mount mp0.
   The LXC always sees /mnt/converter internally — no symlinks needed.
2026-07-25 11:23:26 +00:00
6617aca341 fix: purge all old staging path references — full code review cleanup
Bugs found and fixed:
- converter.py: STAGING_IN.iterdir() → extract_base.iterdir()
  (checked wrong dir when source was in session subdir)
- vm-bench.service: TMPDIR=/mnt/converter/in → /mnt/converter/tmp
  (old path poisoned all temp file writes)
- backend/app.py: removed unused STAGING_IN constant
- converter.py: removed unused STAGING_OUT constant
- install.sh: removed creation of old /in and /out dirs
2026-07-23 10:36:03 +00:00
a28e2af674 refactor: move staging to /mnt/converter/tmp/{guid}/in + out 2026-07-23 10:07:57 +00:00
6ba7944bb2 fix: add unrar-free, use 7z for .zip extraction (more reliable)
- Added unrar-free package to backend installer
- Added .rar to archive extension detection
- Changed .zip extraction from unzip → 7z (x -y)
  7z handles .zip, .7z, and other formats with one tool
- Added unrar handler for .rar files
2026-07-21 19:37:27 +00:00
0e7f8c81f3 feat: shared file-based logging to /mnt/converter/logs/
Both frontend and backend now write rotating log files to
/mnt/converter/logs/ (shared between host and LXC):

  /mnt/converter/logs/vm-bench.log          (frontend)
  /mnt/converter/logs/vm-bench-backend.log   (backend)

- RotatingFileHandler: 10 MB per file, 5 backups
- Console handler still writes to systemd journal
- Logs/ directory is gitignored and auto-created on startup
- Install script creates logs/ directory
2026-07-21 18:52:58 +00:00
4b50b185fa feat: full deployment scripts — backend + LXC creation, frontend installer
backend/install.sh (run on srv2):
- Creates /mnt/converter directory tree, clones/updates git repo
- Installs 10 system packages (qemu-img, guestfish, archive tools)
- Installs Python deps + vm-bench-backend systemd service
- Interactive LXC creation: prompts for container ID, IP, gateway,
  bridge, MAC (all with defaults)
- Creates vm-bench LXC: 3 cores, 6GB RAM, 24GB rootfs, nesting,
  AppArmor unconfined, cgroup access, bind mount /mnt/converter

frontend/install.sh (run inside LXC):
- Installs python3, pip3, wget, curl
- Installs Python deps (fastapi, uvicorn, jinja2, etc.)
- Verifies backend connectivity, installs vm-bench systemd service

frontend/vm-bench.service: systemd unit bundled in repo

README: replaced Prerequisites/Installation with full Deployment
section covering both steps, container config table, and re-deploy
2026-07-21 17:51:53 +00:00
be756e33bf chore: add install.sh for backend systemd setup 2026-07-21 15:01:02 +00:00