1dbbfc5d7cf213d813b98262cbbe244f0a8d20ae
- Merged 21 repos using git subtree (preserves full history)
- Content now at content/{fqdn}/pages/
- Updated setup.php to use user/data/content/ path for Git Sync
- Simplified docker-compose.yml for local testing
Sites included (238 total pages):
- charters.turnsys.com (199 pages)
- plan.knownelement.com (7 pages)
- plan.startinglineproductions.com (10 pages)
- plan.suborbital-systems.com (2 pages)
- 17 other plan.* sites (1 page each)
Assisted-by: GLM-5 via Crush <crush@charm.land>
TSYS Static Sites - Grav Multi-Site Installation
This repository contains the configuration for a Grav CMS multi-site installation hosting 21 static sites, migrated from mdbook.
Quick Start
1. Add hosts entries
Add the following to /etc/hosts:
127.0.0.1 staticsites.turnsys.com
127.0.0.1 charters.turnsys.com
127.0.0.1 plan.afabn.org
127.0.0.1 plan.ap4ap.org
127.0.0.1 plan.ezeda.org
127.0.0.1 plan.ezpodstack.org
127.0.0.1 plan.hfnoc.net
127.0.0.1 plan.knownelement.com
127.0.0.1 plan.meetmorse.com
127.0.0.1 plan.merchantsofhope.org
127.0.0.1 plan.rackrental.net
127.0.0.1 plan.redwfo.com
127.0.0.1 plan.rwscp.net
127.0.0.1 plan.sidedoorgroup.org
127.0.0.1 plan.sol-calc.com
127.0.0.1 plan.suborbital-systems.com
127.0.0.1 plan.teamrental.net
127.0.0.1 plan.thecampustradingcompany.com
127.0.0.1 plan.thepeernet.com
127.0.0.1 plan.turnsys.com
127.0.0.1 plan.yourdreamnamehere.com
127.0.0.1 plan.startinglineproductions.com
See etc-hosts-entries.txt for the complete list.
2. Start the Docker container
docker run -d \
--name tsysstatic-dev-grav \
-p 12000:80 \
-v tsysstatic_grav_data:/var/www/html \
--restart unless-stopped \
getgrav/grav:latest
3. Configure multi-site
# Copy setup.php to container
docker cp setup.php tsysstatic-dev-grav:/var/www/html/setup.php
docker exec tsysstatic-dev-grav chown www-data:www-data /var/www/html/setup.php
# Run configuration script
docker cp scripts/configure-sites.sh tsysstatic-dev-grav:/tmp/
docker exec tsysstatic-dev-grav bash /tmp/configure-sites.sh
# Clear cache
docker exec tsysstatic-dev-grav rm -rf /var/www/html/cache/* /var/www/html/tmp/*
4. Access sites
Open browser to http://staticsites.turnsys.com:12000 or any other configured domain.
Architecture
Multi-Site Configuration
Grav's native environment-based multi-site is used:
setup.php- Detects hostname and setsGRAV_ENVIRONMENTconstantuser/env/{fqdn}/- Per-site configuration and content directories
Directory Structure
user/env/{fqdn}/
├── config/
│ ├── system.yaml # Grav system settings
│ └── site.yaml # Site metadata (title, author, etc.)
├── pages/ # Site content
│ └── 01.home/
│ └── default.md
├── themes/ # Site-specific themes (optional)
├── data/ # Site-specific data files
└── accounts/ # Site-specific user accounts
Shared Resources
user/plugins/- Shared plugins (all sites)user/themes/- Shared themes (fallback if site doesn't have its own)
Sites
| FQDN | Title |
|---|---|
| charters.turnsys.com | TSYS Group Charters |
| plan.afabn.org | AFABN Business Plan |
| plan.ap4ap.org | AP4AP Business Plan |
| plan.ezeda.org | EzEDA Business Plan |
| plan.ezpodstack.org | EzPodStack Business Plan |
| plan.hfnoc.net | High Flight NOC Business Plan |
| plan.knownelement.com | Known Element Business Plan |
| plan.meetmorse.com | MeetMorse Business Plan |
| plan.merchantsofhope.org | Merchants of Hope Business Plan |
| plan.rackrental.net | RackRental Business Plan |
| plan.redwfo.com | Redwood Family Office Business Plan |
| plan.rwscp.net | RWSCP Business Plan |
| plan.sidedoorgroup.org | Side Door Group Business Plan |
| plan.sol-calc.com | Sol-Calc Business Plan |
| plan.suborbital-systems.com | Suborbital Systems Business Plan |
| plan.teamrental.net | TeamRental Business Plan |
| plan.thecampustradingcompany.com | Campus Trading Company Business Plan |
| plan.thepeernet.com | The Peer Network Business Plan |
| plan.turnsys.com | TSYS Business Plan |
| plan.yourdreamnamehere.com | Your Dream Name Here Business Plan |
| plan.startinglineproductions.com | Starting Line Productions Business Plan |
| staticsites.turnsys.com | TSYS Static Sites (default) |
Production Deployment
For Cloudron deployment:
- Deploy Grav app from Cloudron app store to staticsites.turnsys.com
- Copy
setup.phpto the Grav root - Copy
user/env/directory structure - Clear cache
Source Content
Original mdbook content is in sibling directories:
../charters.turnsys.com/
../plan.afabn.org/
../plan.ap4ap.org/
... (etc)
Content migration from mdbook to Grav format is pending.
Description
Languages
Shell
36.6%
HTML
33.5%
MDX
25%
PHP
4.9%