A modern VitePress website with automated Docker deployment to Nomad clusters.
GitHub Guide: https://github.com/aisystant/github-guide.
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview# Quick start with Docker
./docker.sh build && ./docker.sh run
# Or use Docker Compose
docker-compose up -d
# Visit http://localhost:8080This project features automated CI/CD with Docker and Nomad:
- 🔄 Automatic: Push to
main→ Build → Deploy to production - 🎯 Manual: Deploy any version to any environment via GitHub Actions
- 🏗️ Multi-platform: Supports AMD64 and ARM64 architectures
- 🔒 Secure: SSH-based deployment with environment separation
-
Configure GitHub Repository:
- Variables:
NOMAD_HOST,NOMAD_USER - Secret:
NOMAD_SSH_PRIVATE_KEY
- Variables:
-
Deploy:
- Push to
mainfor automatic deployment - Use Actions → "Deploy to Nomad" for manual deployment
- Push to
📋 Detailed setup guide: DEPLOYMENT.md
- Framework: VitePress - Vue-powered static site generator
- Styling: Bootstrap 5.3.6 - Responsive CSS framework
- Components: Swiper 11.2.8 - Touch slider component
- Build Tool: Vite - Fast build tool and dev server
- Preprocessing: Sass - CSS extension language
- Package Manager: npm
- Vue Composition: @vueuse/core - Vue composition utilities
- YAML Processing: js-yaml - YAML parsing for content
- SVG Sprites: vite-plugin-svg-sprite - SVG optimization
- Pages: Markdown files in
src/directory - Components: Reusable content in
components/directory - Assets: Images and static files in
src/public/ - Styling: Custom SCSS with Bootstrap integration
- Clean URLs: Site uses clean URLs without
.htmlsuffixes (configured in.vitepress/config.mts) - Nginx Support: Configured to serve
/page.htmlwhen/pageis requested - Redirects Configuration: Stored in
nginx/includes.d/redirects.conf, auto-generated from CSV files - CSV Types:
nginx/internal-redirects.csv: Old paths to new paths on the new site (/old-path,/new-path)nginx/external-redirects.csv: Paths to redirect to old.system-school (/path-not-implemented)
- Generate Redirects:
cd nginx && python3 csv-to-nginx-redirects.py internal-redirects.csv external-redirects.csv includes.d/redirects.conf