The two most powerful words to follow that which represents you. Your image in the world. Your voice. Your ability to set your own agenda. Not who others say you are. Not who WE are, but who I am. We empower individuals to have their own voice, their own platform, be whoever they need to say they are in the world.
This is a packaging wrapper for HAXcms to to allow anyone to spawn their own microsite management platform. The intention is that HAXcms microsites can be published to the publishing directory. This directory can define multiple forms of publishing endpoint, all of which are static HAXcms microsites.
This is not container based and is instead closer to a WordPress / Drupal concept known as "multi-site" where all of the code is pegged to one code base.
- Easy to maintain, upgrade 1 package in 1 location, everything is upgraded to match
- Upgrade all sites at the same time
- Everything under one directory tree
- Single sign on documented for Azure AD / OpenIDConnect
- Scale (theoretically..) however this is mitigated by everything being static files with minimal PHP endpoints
- Security (technically write access to one is write access to all at server level, application manages access)
- Upgrading 1 site means upgrading all sites (some people want them to be locked in time for stability)
curl -fsSL https://raw.githubusercontent.com/haxtheweb/HAXiam/master/scripts/install/ubuntu26.04.sh -o ubuntu26.04.sh && sh ubuntu26.04.shThere are install scripts for Ubuntu 20, 22, 24, and 26. You can invoke it as follows
bash scripts/install/ubuntu26.04.shAfter installation make sure you review the files created in the _config/ directory. These files are commented heavily as to what they do. You can see the two main ones under system/boilerplate/systemsetup but let the system install so that you can modify them in the appropriate location.
HAXiam supports shared skeleton templates for all users through a centralized organization directory:
- Shared org templates:
_iamConfig/skeletons - User-private templates remain in each user's own config space
Skeleton resolution order is:
users/<username>/_config/user/skeletons(private user skeletons)users/<username>/_config/skeletons(user instance skeletons)_iamConfig/skeletons(organization-wide shared skeletons)cores/HAXcms-1.x.x/system/coreConfig/skeletons(core defaults)
This preserves private user-created templates while allowing admins to publish templates to everyone.
Recommended pattern: manage _iamConfig/skeletons as its own Git repository (or a submodule) so teams can push/pull template updates without versioning sensitive _iamConfig files.
- Create a repository for shared skeleton JSON files (example:
haxiam-skeletons). - Clone it into
_iamConfig/skeletonsin your HAXiam deployment. - Add/update
*.jsonskeleton files, commit, and push. - On each HAXiam deployment, run
git pullin_iamConfig/skeletonsto deploy template updates for all users.
If you prefer tracking this in the main HAXiam repository, update .gitignore carefully so only _iamConfig/skeletons is versioned and other _iamConfig files remain ignored.