Porting guides, architecture docs, manuals, and API references for the Archmox virtualization stack
Archmox brings enterprise-grade virtualization (PVE), backup (PBS), and mail gateway (PMG) to Arch Linux.
All components are packaged as PKGBUILDs and managed via pacman.
Select a document section below to expand and read inline, or use the navigation links.
Step-by-step guides for converting Proxmox Debian packages to Arch Linux PKGBUILDs. Covers dependency resolution, Perl module mapping, systemd service adaptation, and build system integration.
Comprehensive guide for porting the Proxmox Virtual Environment stack (~50 packages) from Debian to Arch Linux PKGBUILDs.
Covers:
/etc/pve/Detailed guide for porting Proxmox Backup Server — a Rust-based backup solution with content-addressable storage.
Covers:
Complete guide for porting Proxmox Mail Gateway — an SMTP proxy with spam filtering, virus scanning, and policy routing.
Covers:
Deep dives into the internal architecture of the Archmox stack — component layering, cluster communication, and storage backends.
High-level architecture of the complete Archmox stack, from the Hyperbola/LTS kernel up through the web UI layer.
Covers:
In-depth coverage of cluster communication via Corosync, the pmxcfs distributed filesystem, and the HA resource management system.
Covers:
Comprehensive guide to the pve-storage plugin system and all supported storage backends: ZFS, Ceph, LVM, NFS, iSCSI, and more.
Covers:
Installation, configuration, and maintenance manuals for running Archmox in production environments.
Complete installation guide covering all three methods: binary repository, source build, and ISO installer.
Covers:
Detailed reference for configuring all Archmox components through configuration files, CLI tools, and APIs.
Covers:
Day-to-day operations guide covering updates, health monitoring, backup/restore, capacity planning, and disaster recovery.
Covers:
Reference overviews for the REST APIs of PVE, PBS, and PMG. Includes authentication, common endpoints, and usage patterns.
Complete reference for the Proxmox VE REST API — managing VMs, containers, storage, cluster, users, and firewall.
Covers:
/api2/json/ with hierarchical path organizationReference for the Proxmox Backup Server REST API — datastores, backup jobs, verification, prune, garbage collection, and remote sync.
Covers:
/api2/json/ (Rust-based using proxmox-router)Reference for the Proxmox Mail Gateway REST API — content filtering rules, quarantine, SpamAssassin, ClamAV, DKIM, and statistics.
Covers:
/api2/json/, shares PVE auth systemGitHub Actions CI/CD workflows for building packages, generating ISOs, deploying the website and API worker, running health checks, and validating documentation.
| Workflow | Trigger | Purpose |
|---|---|---|
build-packages.yml |
Push to main, PR | Build all PKGBUILDs in dependency order (core, PVE, PBS, PMG, infra), lint with namcap, create repository database |
build-iso.yml |
Release published | Build full Archmox installation ISO using archiso, upload to Cloudflare R2 CDN and GitHub release assets |
deploy-pages.yml |
Push to main | Deploy website, docs, and subdomain pages (pve, pbs, pmg, cdn) to Cloudflare Pages |
deploy-worker.yml |
Push to main | Lint, test, and deploy the Cloudflare Worker (API proxy, CDN, fleet health) to production |
health-check.yml |
Every 30 min, manual | Check HTTP status and latency of all fleet services (main, pve, pbs, pmg, docs, cdn, API). Notify on failures via Discord |
docs-check.yml |
PR, push, weekly schedule | Check for dead links (lychee), lint markdown, spell check, verify file consistency across documentation |
The build script at scripts/ci/build-all.sh enforces this dependency order:
Core (6): proxmox-rs, pve-common, proxmox-widget-toolkit, proxmox-i18n, pve-eslint, pve-jslint
PVE (22): pve-access-control, pve-cluster, pve-storage, pve-firewall, pve-guest-common, pve-ha-manager, pve-network, pve-http-server, pve-container, qemu-server, pve-edk2-firmware, pve-xtermjs, pve-zsync, pve-lxc-syscalld, pve-sheepdog, proxmox-yew-comp, proxmox-datacenter-manager, pve-docs, pve-installer, pve-manager, proxmox-ve
PBS (4): pxar, proxmox-fuse-rs, proxmox-backup, proxmox-backup-qemu
PMG (3): pmg-api, pmg-gui, pmg-docs
Infra (23): libiscsi, lvm, lxc, zfs, ksm-control-daemon, pve-libspice-server, pve-firmware, vncterm, spiceterm, corosync-pve, corosync-qdevice, openvswitch, redhat-cluster-pve, gfs2-utils, fence-agents-pve, resource-agents-pve, ceph, qemu, dab, dab-pve-appliances, libgtk3-webkit-perl, proxmox-firewall
API Health: GET /api/health on any subdomain returns fleet status, version, and service availability.
Worker performs reverse proxy for Pages (pmg, cdn, pbs subdomains), serves CDN via R2 buckets, handles contact/newsletter/security report endpoints.
Archmox is community-driven. Key contribution areas:
debian/rules to PKGBUILDspve-installer for archiso