4.2 KiB
4.2 KiB
Grav Multi-Site Migration Status
Date: March 2, 2026
Monorepo: /home/charles/Projects/tsysstatic/staticsites.turnsys.com/
Remote: ssh://git@git.knownelement.com:29418/TSYSGroupCorporate/tsysstaticsites.git
Cloudron Grav: staticsites.turnsys.com
Todo List
Completed
- Flatten pages structure (remove extra pages/ level)
- Update setup.php to use correct path
- Commit and push changes to remote
- Copy setup.php to Cloudron (
/app/data/user/setup.php) - Configure Git Sync plugin
- Initial sync (content pulled but wiped user/ folder)
- Reinstall admin plugin
In Progress
- Create admin user (run
php bin/grav newuser)
Pending
- Fix Git Sync configuration to only sync
pages/folder (prevent future wipes) - Clear Grav cache
- Test multi-site routing at staticsites.turnsys.com
- Add domain aliases in Cloudron for all 21 sites
- Test each domain resolves to correct content
Completed
- All 21 sites converted from mdbook to Grav format
- All repos merged into monorepo (preserves history)
- Repository structure flattened:
pages/{fqdn}/*(notpages/{fqdn}/pages/*) - setup.php created for hostname-based routing
- Changes committed and pushed to remote
- Cloudron: setup.php placed at
/app/data/user/setup.php - Cloudron: Git Sync plugin installed and configured
- Cloudron: Git Sync successfully pulled content
- Cloudron: Admin plugin reinstalled after Git Sync wipe
Current State
Repository Structure
pages/
├── charters.turnsys.com/
│ ├── 01.home/default.md
│ └── 02.Bylaws.../default.md
├── plan.knownelement.com/
│ └── 01.home/default.md
└── ... (21 sites total)
Cloudron State
- Git Sync pulled repo to
/app/data/user/but synced ROOT not justpages/ - This wiped out accounts, admin, etc.
- Admin plugin reinstalled
- Content is in
/app/data/user/pages/(correct location)
Immediate Next Steps
-
Create admin user:
su -s /bin/bash www-data -c "cd /app/code && php bin/grav newuser" -
Fix Git Sync configuration to only sync
pages/folder:- Check current config:
cat /app/data/user/config/plugins/git-sync.yaml - The
folderssetting should map repopagestouser/pages - May need to reconfigure to prevent future wipes
- Check current config:
-
Clear cache:
cd /app/code && php bin/grav clear-cache -
Test multi-site routing:
- Visit staticsites.turnsys.com (default site)
- Should route based on hostname to correct pages
-
Add domain aliases in Cloudron for all 21 sites:
- charters.turnsys.com
- plan.afabn.org
- plan.ap4ap.org
- plan.ezeda.org
- plan.ezpodstack.org
- plan.hfnoc.net
- plan.knownelement.com
- plan.meetmorse.com
- plan.merchantsofhope.org
- plan.rackrental.net
- plan.redwfo.com
- plan.rwscp.net
- plan.sidedoorgroup.org
- plan.sol-calc.com
- plan.startinglineproductions.com
- plan.suborbital-systems.com
- plan.teamrental.net
- plan.thecampustradingcompany.com
- plan.thepeernet.com
- plan.turnsys.com
- plan.yourdreamnamehere.com
-
Test each domain resolves to correct content
Key Files
| File | Location | Purpose |
|---|---|---|
| setup.php.cloudron | /home/charles/Projects/tsysstatic/staticsites.turnsys.com/ |
Multi-site routing config for Cloudron |
| setup.php | /app/data/user/setup.php |
Active routing config on Cloudron |
| git-sync.yaml | /app/data/user/config/plugins/git-sync.yaml |
Git Sync plugin config |
Git Sync Configuration Issue
Problem: Git Sync synced repo root to /app/data/user/ instead of just pages/ to user/pages/
Current config:
folders:
- pages
This should mean: sync repo's pages/ folder to user/pages/. But it synced everything.
Need to investigate:
- Whether Git Sync initialized in wrong location
- Whether
foldersconfig is correct - May need to reinitialize Git Sync from scratch
Sites (21 total)
| Site | Pages |
|---|---|
| charters.turnsys.com | 199 |
| plan.knownelement.com | 7 |
| plan.startinglineproductions.com | 10 |
| plan.suborbital-systems.com | 2 |
| 17 other plan.* sites | 1 each |
| Total | 238 |