Archmox Documentation Hub

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.

Porting Guides

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.

PVE Porting Guide

▼

Comprehensive guide for porting the Proxmox Virtual Environment stack (~50 packages) from Debian to Arch Linux PKGBUILDs.

Covers:

  • Package inventory of all 51 PVE components across 4 dependency tiers
  • PKGBUILD template with build(), check(), and package() functions
  • Perl module path mapping from Debian to Arch vendor directories
  • Systemd service files for all daemons (pveproxy, pvedaemon, pve-cluster, etc.)
  • pmxcfs configuration layout under /etc/pve/
  • Web UI asset pipeline (ExtJS, Sencha CMD, widget toolkit)
  • Dependency resolution order for core, PVE, and infra packages
  • Common pitfalls: Debian-specific build deps, AUR Perl module availability, kernel module deps
  • Verification checklist after completing the port
PVE Infrastructure
Read full guide →

PBS Porting Guide

▼

Detailed guide for porting Proxmox Backup Server — a Rust-based backup solution with content-addressable storage.

Covers:

  • Package architecture: proxmox-rs (workspace of 13 sub-crates), pxar, proxmox-fuse-rs, proxmox-backup, proxmox-backup-qemu
  • Rust build pipeline with cargo workspaces and frozen dependency resolution
  • pxar archive format: sparse files, extended attributes, chunking, FUSE mounting
  • PostgreSQL integration: schema migration, user/database setup
  • FUSE snapshot mounting for file-level restore
  • Web UI build (ExtJS with Rust HTTP server, no nginx needed)
  • Backup datastore directory structure (chunks, indices, catalogs)
  • Verification: start daemon, create datastore, run backup/restore cycle
PBS Rust
Read full guide →

PMG Porting Guide

▼

Complete guide for porting Proxmox Mail Gateway — an SMTP proxy with spam filtering, virus scanning, and policy routing.

Covers:

  • PMG package architecture: pmg-api (Perl), pmg-gui (ExtJS), pmg-docs
  • Dependency chain through PVE common libraries plus mail infrastructure
  • SMTP proxy architecture: pmg-smtp-filter, pmg-smtp-forward, pmg-policy
  • Postfix integration: master.cf configuration, content_filter directives
  • Content filtering pipeline: SpamAssassin, ClamAV, custom rules engine
  • Quarantine system: storage format, daily digest, web management
  • DKIM signing and verification workflow
  • File system layout for PMG binaries, configuration, and quarantine data
  • Verification procedure: configure Postfix, start filter, test mail flow
PMG
Read full guide →

Architecture Documentation

Deep dives into the internal architecture of the Archmox stack — component layering, cluster communication, and storage backends.

Stack Architecture Overview

▼

High-level architecture of the complete Archmox stack, from the Hyperbola/LTS kernel up through the web UI layer.

Covers:

  • Five-layer architecture model: OS, Infrastructure, Service, API, Web UI
  • Kernel patches for ZFS, Corosync, QEMU, LXC, OVS, and nftables
  • Service layer details: pmxcfs, pve-ha-manager (CRM/LRM), pve-firewall, pve-container, qemu-server, pve-storage, pve-access-control, pve-network
  • API layer: pveproxy (nginx reverse proxy), pvedaemon (Perl API), pmg-api, proxmox-backup (Rust HTTP)
  • IPC mechanisms: REST API, Unix sockets, shared memory, D-Bus, WebSocket, TCP
  • Security model: PAM, LDAP, AD realms, TOTP 2FA, RBAC path-based permissions
  • Package management: archmox- prefix, pacman repository configuration
PVE PBS PMG
Read full document →

Cluster & HA Architecture

▼

In-depth coverage of cluster communication via Corosync, the pmxcfs distributed filesystem, and the HA resource management system.

Covers:

  • Cluster stack: Corosync (knet transport, totem protocol, AES-256-GCM encryption)
  • Corosync configuration: nodelist, ring0/ring1 redundancy, quorum settings
  • pmxcfs internals: FUSE implementation, SQLite + corosync CPG replication, strong consistency model
  • Write path: SQLite transaction, broadcast via CPG, lock manager, crash recovery
  • Cluster formation: create cluster, node joining, membership negotiation
  • Quorum math: requirement, two-node mode, split-brain prevention
  • HA system: CRM leader election, LRM watchdog integration, resource state machine
  • Fencing: watchdog-based, STONITH (IPMI, iLO, DRAC, APC)
  • Service recovery policies: max_restart, max_relocate, HA groups
  • Live migration: pre-copy and post-copy strategies, storage migration scenarios
PVE Cluster
Read full document →

Storage Backend Architecture

▼

Comprehensive guide to the pve-storage plugin system and all supported storage backends: ZFS, Ceph, LVM, NFS, iSCSI, and more.

Covers:

  • Storage plugin API contract: create, remove, resize, snapshot, clone, template operations
  • ZFS: ARC tuning, SLOG/L2ARC, recordsize optimization, zvol vs subvolume, ZFS replication via pve-zsync
  • Ceph: MON/OSD/MGR architecture, CRUSH map, RBD pool configuration, BlueStore tuning, cephx authentication
  • LVM thin provisioning: pool creation, LV lifecycle, monitoring and overcommit risks
  • Directory, NFS, iSCSI, and SMB/CIFS storage configuration
  • Storage replication: ZFS send/recv, Ceph native replication, cross-cluster DR
  • Storage selection guide for small, medium, and large deployments
PVE Storage
Read full document →

Manuals

Installation, configuration, and maintenance manuals for running Archmox in production environments.

Installation Manual

▼

Complete installation guide covering all three methods: binary repository, source build, and ISO installer.

Covers:

  • Hardware requirements: CPU, RAM, storage, network minimums and recommendations
  • Method 1: Binary repository setup via pacman, installing from archmox repo
  • Method 2: Source build from PKGBUILDs, cloning repo, running build-all.sh
  • Method 3: ISO installation (coming soon) with archiso-based guided installer
  • Post-installation: network bridge configuration, ZFS pool creation, Ceph bootstrap
  • Web interface access at ports 8006 (PVE/PMG) and 8007 (PBS)
  • TLS certificate replacement for production
  • Firewall configuration at cluster and node level
  • Cluster setup: create cluster, add nodes, verify with pvecm
  • Post-installation checklist for production readiness
  • Troubleshooting: pve-cluster failures, web UI accessibility, ZFS pool import
PVE PBS PMG
Read full manual →

Configuration Guide

▼

Detailed reference for configuring all Archmox components through configuration files, CLI tools, and APIs.

Covers:

  • Configuration hierarchy: cluster-level pmxcfs files, node-level /etc files
  • Datacenter.cfg: keyboard, console, migration, email, proxy, timeout settings
  • Storage.cfg: all backend types with example configurations (dir, zfspool, rbd, lvmthin, nfs, pbs)
  • Content types per storage: images, rootdir, iso, vztmpl, backup, snippets, import
  • User realms: Linux PAM, PVE, LDAP with pveum command reference
  • ACL structure: path-based permissions, groups, TOTP two-factor auth
  • VM configuration options: boot order, CPU, memory, network, PCI passthrough, UEFI, TPM
  • Container configuration: unprivileged mode, cgroup limits, mount points
  • PMG configuration: mydomain, relayhost, spam thresholds, DKIM, quarantine
  • PBS configuration: server identity, TLS, datastores, GC, verify, remote sync
  • Network configuration: Linux bridges, SDN zones (VXLAN, VLAN), VNets
  • Service overrides via systemd drop-in files
  • Backup job configuration for PBS and legacy VZDump
PVE PBS PMG
Read full guide →

Maintenance & Updates

▼

Day-to-day operations guide covering updates, health monitoring, backup/restore, capacity planning, and disaster recovery.

Covers:

  • Update procedures: pacman updates, kernel updates, ZFS DKMS rebuilds
  • Clustered update sequence: migrate VMs, stop services, update, reboot, rejoin
  • Rolling back problematic updates from pacman cache or source rebuild
  • Health monitoring: systemctl, journalctl, pvecm, corosync-cfgtool, zpool status
  • Performance monitoring: pvesh rrddata, VM and container metrics
  • Backup procedures: PBS datastore verification, configuration backup, PostgreSQL dump
  • Full node restore: reinstall, copy cluster keys, rejoin, re-add storage
  • Certificate management: check expiry, regenerate, Let's Encrypt via ACME
  • Capacity planning: ZFS pool usage, datastore monitoring, adding storage
  • Disaster recovery: node failure, storage failure, backup restore
  • Routine maintenance: daily, weekly, monthly, quarterly checklists
  • Troubleshooting: high CPU, corosync failures, ZFS degradation
PVE PBS PMG
Read full guide →

API References

Reference overviews for the REST APIs of PVE, PBS, and PMG. Includes authentication, common endpoints, and usage patterns.

PVE API Reference

▼

Complete reference for the Proxmox VE REST API — managing VMs, containers, storage, cluster, users, and firewall.

Covers:

  • API structure at /api2/json/ with hierarchical path organization
  • HTTP methods: GET (list), POST (create/action), PUT (update), DELETE (remove)
  • Authentication: API tokens for automation, ticket-based for interactive use
  • All endpoint categories with curl examples
  • Node management: status, RRD data, reboot, command execution
  • QEMU VM management: create, start/stop, snapshots, live migration, resize, console proxy
  • LXC container management: create, lifecycle, console, exec commands
  • Storage management: list, upload ISO, upload VZTMPL, delete volumes
  • Cluster management: status, resource map, logs, join info
  • Firewall management: cluster and per-VM rules with IPSets
  • User management: users, roles, ACLs, realms, TOTP enrollment
  • HA management: resources, status, groups
  • Task management: list, log streaming, cancellation
  • Error handling: response format, HTTP status codes, rate limiting
PVE
Read full reference →

PBS API Reference

▼

Reference for the Proxmox Backup Server REST API — datastores, backup jobs, verification, prune, garbage collection, and remote sync.

Covers:

  • API structure at /api2/json/ (Rust-based using proxmox-router)
  • Authentication: API tokens and ticket-based with PBSAuthCookie
  • Datastore management: status, statistics, backup groups, snapshots
  • Backup operations: start backup, upload chunks, close, restore, list files
  • Job management: backup, verify, prune, garbage collection, sync
  • Remote sync: configure remotes, create sync jobs, run manually
  • Tape management: drives, media pools, backup-to-tape, restore-from-tape
  • User and access management: users, API tokens, ACL permissions
  • Chunk and catalog operations: chunk info, catalog download
  • Streaming endpoints for large data transfers
  • Best practices: API tokens, chunk sizing, verify schedules, DR planning
PBS
Read full reference →

PMG API Reference

▼

Reference for the Proxmox Mail Gateway REST API — content filtering rules, quarantine, SpamAssassin, ClamAV, DKIM, and statistics.

Covers:

  • API structure at /api2/json/, shares PVE auth system
  • Rule management: who/what/action objects, priority, reordering
  • Spam configuration: SpamAssassin thresholds, auto-learning, sa-update
  • Virus configuration: ClamAV enable/disable, action, max_size, freshclam
  • Quarantine management: list, release, delete, whitelist/blacklist, digest config
  • Mail proxy configuration: default relay, max connections, greylisting
  • Transport rules: domain-based relay routing
  • DKIM configuration: domain, selector, key generation, public key retrieval
  • TLS configuration: certificate upload, enable/disable
  • LDAP server configuration: add, test connection
  • Statistics: mail flow, spam, virus, top senders/recipients
  • Node management: service control, system logs
  • Configuration backup and restore
PMG
Read full reference →

CI/CD Workflows

GitHub 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

Quick Links

Package Build Order

▼

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

Fleet Services

▼

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.

Contributing

▼

Archmox is community-driven. Key contribution areas:

  • Porting Perl modules from Debian paths to Arch vendor paths
  • Converting debian/rules to PKGBUILDs
  • Adapting pve-installer for archiso
  • Testing on bare metal
  • Writing documentation