Source: vm-reactor
Section: contrib/admin
Priority: optional
Maintainer: Stratum Project <stratum@skraba.net>
Build-Depends: debhelper-compat (= 13), golang-go (>= 2:1.24~), po-debconf
Standards-Version: 4.7.2
Homepage: https://www.skraba.net/vm-reactor/start
Rules-Requires-Root: no

Package: vm-reactor
Architecture: amd64 arm64
Depends: ${misc:Depends}, ${vm-reactor:Depends}, stratum-core (>= 0.49), stratum-memory (>= 0.29),
 stratum-firewall (>= 0.12), stratum-watchdog (>= 0.09), stratum-security (>= 0.13),
 stratum-software (>= 0.25), stratum-wireguard, stratum-storage (>= 0.08),
 libvirt-daemon-system, libvirt-clients, qemu-utils, lxc, lxcfs, lxc-templates,
 uidmap, dnsmasq-base, nftables, iptables, iproute2, zstd, openssl,
 curl, gpg, novnc, openssh-client, openssh-server, rsync,
 nfs-common, lvm2, thin-provisioning-tools, bridge-utils
Description: Stratum VM Reactor: virtual machines, containers and Docker in one web interface
 Stratum is a functional layer for Debian.
 .
 VM Reactor manages KVM virtual machines (libvirt), LXC system containers and
 Docker applications (compose projects) from one web interface on its own
 port (HTTPS, 8443 by default). Every guest has a number - ID 1, 2, 3 ...
 (ID 0 is the host) - whatever its type, one configuration file
 (/etc/vm-reactor/guests/<id>.conf) and one directory in a storage
 (<storage>/guests/<id>).
 .
 Guests: create (wizard), start, shut down, stop, reboot, pause, clone,
 delete, console in the browser (VNC display and serial console of virtual
 machines, shell of containers), resources, disks, snapshots, load charts,
 a firewall per guest, start with the host in order and with delays,
 restart by the watchdog.
 .
 Storage: directories (btrfs and NFS shares mounted by the host), LVM thin
 pools made by stratum-storage - on plain disks or on an md array (RAID 0, 1,
 5, 6, 10) - and NFS shares; guests, ISO images, LXC templates and backups, and
 the disks of a pool are added and removed while the guests run. Network: NAT
 network with DHCP/DNS, fixed addresses and published ports, the local
 network (macvtap/macvlan), internal bridges and bridges on network cards.
 Memory: deduplication (ksm), compression (zram) and ballooning
 (virtio-balloon) tuned for a hypervisor, through stratum-memory. Docker:
 installation from Docker's own repository (docker-ce, compose, buildx) at
 the installation of the package or later, and its APT source, daemon
 settings (log rotation, address pool, live restore, IPv6,
 no-new-privileges, data location), registries, mirrors, Docker users,
 events, all containers, images, volumes and networks, cleanup.
 Docker applications: created from a compose file, a template, a pasted
 "docker run" command or an image wizard, CPU and memory limits,
 automatic updates (auto / notify / off) with rollback, import of
 existing compose projects. Backups: one file per backup, export and
 import, restore under a new ID, scheduled backups with retention.
 Security: users with roles (admin, manager, operator, user, viewer) and
 guest scopes, two-factor sign-in (TOTP), allowed networks, sign-in limits,
 audit log. Command line: vm-reactor.
