Skip to content

Scanopy installation fails: missing fixture generation and insufficient disk spaceΒ #12673

@devnullvoid

Description

@devnullvoid

βœ… Have you read and understood the above guidelines?

yes

πŸ”Ž Did you run the script with verbose mode enabled?

Yes, verbose mode was enabled and the output is included below

πŸ“œ What is the name of the script you are using?

Scanopy

πŸ“‚ What was the exact command used to execute the script?

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/scanopy.sh)"

βš™οΈ What settings are you using?

  • Default Settings
  • Advanced Settings

πŸ–₯️ Which Linux distribution are you using?

Debian 13

πŸ“ˆ Which Proxmox version are you on?

9.1.4

πŸ“ Provide a clear and concise description of the issue.

The Scanopy installation script fails during the UI build step with two related issues:

  1. Missing fixture generation step: The script attempts to build the UI without first generating required metadata fixture files
  2. Insufficient disk space: The default 6GB disk is too small for the full Rust compilation needed to generate fixtures

πŸ”„ Steps to reproduce the issue.

  1. Run the standard Scanopy installation script with default settings
  2. Installation proceeds normally until the "Creating frontend UI" step
  3. Build fails with error: Could not load /opt/scanopy/ui/src/lib/data/billing-plans.json: ENOENT: no such file or directory

❌ Paste the full error output (if available).

[2026-03-07 18:30:08] [INFO] Creating frontend UI
> scanopy-ui@0.14.15 build
> vite build

The following Vite config options will be overridden by SvelteKit:
  - build.outDir
vite v7.3.1 building ssr environment for production...
βœ“ 4194 modules transformed.
βœ— Build failed in 15.18s
error during build:
[vite:load-fallback] Could not load /opt/scanopy/ui/src/lib/data/billing-plans.json (imported by src/lib/features/billing/BillingPlanModal.svelte): ENOENT: no such file or directory, open '/opt/scanopy/ui/src/lib/data/billing-plans.json'

When attempting to run make generate-fixtures manually after expanding disk:

error: failed to write to `/opt/scanopy/backend/target/debug/deps/rmeta5a8gmm/full.rmeta`: No space left on device (os error 28)

πŸ–ΌοΈ Additional context (optional).

Root Cause Analysis:

The Scanopy project uses generated metadata fixture files that are:

  • Gitignored (see ui/.gitignore: # Generated billing/metadata fixtures (from backend generate_billing_fixtures test))
  • Created by running make generate-fixtures (which runs cargo test generate_billing_fixtures)
  • Required by the UI build process

These files were likely committed to the repository in earlier versions, but are now generated files. The installation script was never updated to include this generation step.

Required Fixes:

  1. Add fixture generation step in install/scanopy-install.sh before line 36:
msg_info "Generating metadata fixtures"
cd /opt/scanopy
$STD make generate-fixtures
msg_ok "Generated metadata fixtures"

msg_info "Creating frontend UI"
  1. Increase default disk size in ct/scanopy.sh line 11:
var_disk="${var_disk:-16}"  # Changed from 6 to 16

The Rust compilation for fixture generation requires approximately 10GB of space. With the base system and dependencies, 16GB provides adequate headroom.

Workaround for existing installations:

  1. Expand container disk: pct resize <CTID> rootfs +10G
  2. Enter container and run: cd /opt/scanopy && make generate-fixtures
  3. Build UI: cd ui && npm run build

Files affected:

  • install/scanopy-install.sh (add fixture generation)
  • ct/scanopy.sh (increase disk size, add fixture generation to update function)

Metadata

Metadata

Assignees

Labels

investigationWe are looking into itupdate scriptA change that updates a script

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions