Skip to content

NowSquare/VoxelSwarm

Repository files navigation

VoxelSwarm

Deploy VoxelSite for everyone.

VoxelSwarm is a free, open-source deployment layer that turns one VoxelSite installation into a multi-tenant platform. Each user gets their own isolated hosting account, their own AI website builder, their own API key. No SaaS. No shared infrastructure. No middlemen.

⚠️ Early Access — VoxelSwarm requires extensive testing across different hosting environments and control panels. Please read docs/testing-feedback.md before reporting issues.


Why not just build a SaaS?

You could run VoxelSite as a centralized SaaS — one app, shared database, monthly subscriptions. But:

  • You'd need to build and maintain a multi-tenant codebase
  • You'd handle all user data (GDPR, compliance, security breaches)
  • One shared AI API key — one user violating terms gets your entire platform suspended
  • Billing, subscriptions, churn — revenue depends on retaining paying users month to month
  • One bug affects everyone

VoxelSwarm takes a different approach. Each client gets a full, isolated VoxelSite installation. Each brings their own AI API key. One VPS, predictable costs. No billing system needed — charge per project, per month, or give it away. Your business model.


How it works

1. Clone VoxelSwarm

git clone https://github.com/NowSquare/VoxelSwarm.git
cd VoxelSwarm

That's it — all dependencies are included in the repo. No composer install or npm install needed.

2. Point your domain & open the wizard

Point your domain to the VoxelSwarm directory (see installation docs for Nginx/Apache config).

Then open https://yourdomain.com in your browser — VoxelSwarm detects it's not installed and launches the setup wizard automatically.

The wizard runs system checks, then lets you configure your domain, operator account, control panel adapter, and email — all from the browser. No SSH required.

CLI alternative: php scripts/install.php

3. Prepare your VoxelSite template

Add a VoxelSite release ZIP to template/voxelsite/ and process it from the Templates page in the operator dashboard. VoxelSite is free and open source — get it from voxelsite.com or github.com/NowSquare/VoxelSite.

This extracts VoxelSite, moves the image library to a shared location (saving ~15 MB per instance), and generates the image manifest. ZIPs can have any filename — VoxelSwarm reads the VERSION file inside.

CLI alternative: php scripts/prepare-template.php /path/to/voxelsite.zip

4. Provision instances

By default, VoxelSwarm runs in operator-only modeGET / redirects to the operator login. You provision instances from the dashboard at /operator. When you're ready for public self-service signups, enable the public site in Deployment settings.


Requirements

  • PHP 8.2+ with extensions: pdo_sqlite, mbstring, openssl, fileinfo, zip, curl
  • Web server: Nginx (recommended) or Apache with mod_rewrite
  • Wildcard DNS: *.yourdomain.com → your server IP (required for Nginx and DirectAdmin adapters — Forge, cPanel, and Plesk handle this automatically)
  • Wildcard SSL: for *.yourdomain.com (required for Nginx and DirectAdmin adapters — other adapters provision SSL per-subdomain)
  • VoxelSite: voxelsite.com or github.com/NowSquare/VoxelSite — free and open source (AGPL-3.0)
  • No MySQL. No Node.js. No Redis. No Composer required — vendor/ is included in the repo.

Control Panel Adapters

VoxelSwarm uses an adapter system to create hosting accounts and configure your control panel. Each adapter implements the same interface for subdomain provisioning, custom domain management, and maintenance mode:

Adapter Status Configuration
Filesystem (Local) ✅ Working docs/adapters/local.md
Nginx ✅ Working docs/adapters/nginx.md
Laravel Forge 🧪 Testing docs/adapters/forge.md
cPanel/WHM 🧪 Testing docs/adapters/cpanel.md
Plesk 🧪 Testing docs/adapters/plesk.md
DirectAdmin 🧪 Testing docs/adapters/directadmin.md
CloudPanel 📋 Planned docs/adapters/cloudpanel.md
HestiaCP 📋 Planned docs/adapters/hestiacp.md
CyberPanel 📋 Planned docs/adapters/cyberpanel.md

Missing your panel? Open an issue or contribute an adapter.


Architecture

VoxelSwarm/
├── index.php                    # Front controller
├── src/
│   ├── Adapters/                # Control panel adapter system
│   ├── Controllers/             # Route handlers
│   ├── Models/                  # SQLite data access
│   ├── Services/                # Provisioner, mailer, health checker, DNS verifier
│   ├── Middleware/               # Auth, CSRF, throttle
│   └── Helpers/                 # Encryption, validation, response
├── views/                       # PHP templates
├── migrations/                  # SQLite schema
├── scripts/                     # install.php, prepare-template.php, migrate.php
├── storage/
│   ├── swarm.db                 # SQLite database
│   ├── instances/               # Provisioned VoxelSite installations
│   └── logs/                    # Provisioning + system logs
├── template/voxelsite/          # Prepared VoxelSite template
└── library/                     # Centralized image library

Two users, one platform:

  • The Operator — installs VoxelSwarm, configures the adapter, manages instances from the dashboard
  • The Tenant — signs up, gets a hosting account, builds their website with AI

Documentation

Topic Link
Installation docs/installation.md
Configuration docs/configuration.md
Page Map docs/page-map.md
Testing & Feedback docs/testing-feedback.md
Template Preparation docs/template-preparation.md
Operator Dashboard docs/operator-dashboard.md
Adapters Overview docs/adapters/README.md
Writing an Adapter docs/adapters/writing-an-adapter.md
Troubleshooting docs/troubleshooting.md
Updating docs/updating.md

Licensing

VoxelSwarm is free and open source under the MIT License. It deploys VoxelSite, which is also free and open source under AGPL-3.0 — get it from voxelsite.com or github.com/NowSquare/VoxelSite.


Contributing

VoxelSwarm is open source because the only way to make it work on every hosting environment is to let people test it on their hosting environment. Contributions are welcome:

Please read CONTRIBUTING.md before submitting a pull request.


Support


License

MIT — see LICENSE.

VoxelSite is a separate open-source product, under AGPL-3.0. VoxelSwarm is a deployment layer for VoxelSite, not a fork or redistribution.


VoxelSite builds the website. VoxelSwarm puts it in front of the world.

About

Self-hosted deployment layer for VoxelSite. Run isolated AI website builders for clients or teams from one VPS, with open-source provisioning, templates, and control-panel adapters.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors