This repository contains:
- Hugo static site (production)
- Ghost CMS setup (in migration)
- Migration tools and scripts
- Custom Ghost theme with Hugo styling
- Ghost is currently running in development mode on local Docker
- Some pages have null content due to database issues
- Multiple duplicate pages need cleanup
- URL structure needs standardization
- Ubuntu 20.04+ server
- Docker installed
- Nomad and Consul installed
- PostgreSQL or MySQL for production Ghost
git clone <your-repo-url>
cd helen# Copy environment template
cp .env.example .env
# Edit with your production values
# - GHOST_URL
# - Database credentials
# - SMTP settingsFor production, use PostgreSQL or MySQL instead of SQLite:
# PostgreSQL example
sudo -u postgres createdb ghost_production
sudo -u postgres createuser ghost_user -PSee nomad/ directory for:
ghost-app.nomad- Ghost CMS jobhugo-static.nomad- Hugo static site jobnginx-proxy.nomad- Reverse proxy configuration
- Build Hugo site:
hugo --minify - Import content to Ghost:
cd migration && ./import_now.sh - Upload theme: Use
cybermonkey-ghost-theme-clean.zip - Configure navigation in Ghost admin
- Set up redirects for old URLs
Update docker-compose-production.yml with:
- Production database
- Persistent volumes
- Proper networking
- SSL/TLS configuration
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Nginx │────▶│ Hugo │ │ PostgreSQL │
│ Proxy │ │ Static │ │ DB │
│ │────▶│ Files │ │ │
└─────────────┘ └─────────────┘ └─────────────┘
│ ▲
│ │
▼ │
┌─────────────┐ │
│ Ghost │────────────────────────────────┘
│ CMS │
└─────────────┘
- Set up Consul for service discovery
- Configure Nomad jobs for each service
- Set up Traefik/Nginx for routing
- Configure SSL with Let's Encrypt
- Set up monitoring (Prometheus/Grafana)
- Configure backups
- Current Ghost container uses development mode - DO NOT use in production
- Theme navigation is partially hardcoded - needs Ghost dynamic nav
- Migration scripts assume local environment - update for production
- Some Hugo content didn't migrate properly (_index.md files)