Static Pages
What It Is
Section titled “What It Is”Flect Pages deploy static sites from a GitHub repo. Point it at a repo containing markdown files and Flect builds a Starlight docs site automatically. Supports custom Astro sites too.
Hosted at <name>-<id>.up.flect.run with HTTPS.
Workflow
Section titled “Workflow”1. Create a GitHub repo with markdown files2. Add flect.toml with [page] section (optional, has defaults)3. flect page create <name>4. flect page deploy <name> --repo github.com/<owner>/<repo>Quick Start
Section titled “Quick Start”# 1. Create page recordflect page create my-docs
# 2. Deploy from GitHub repoflect page deploy my-docs --repo github.com/you/my-docs
# 3. Check statusflect page listRepo Structure
Section titled “Repo Structure”Simplest possible setup — just markdown files:
my-docs/ index.md # home page guides/ quickstart.md installation.md reference/ api.md flect.toml # optional configflect.toml [page] Section
Section titled “flect.toml [page] Section”[page]template = "docs" # only template currently availabletitle = "My Project" # site titlegithub = "https://github.com/you/repo" # shown in navbar
[page.build]# Optional: use your own build system instead of the default templatecommand = "npm run build"out = "dist"Templates
Section titled “Templates”docs (default)
Section titled “docs (default)”Astro Starlight — auto-generates sidebar from your directory structure.
- Drop any
.mdor.mdxfiles in the repo root - Subdirectories become sidebar sections
index.mdbecomes the home page
Custom Astro Site
Section titled “Custom Astro Site”If your repo has astro.config.mjs, Flect runs your own build:
[page.build]command = "npm run build"out = "dist"Markdown Tips
Section titled “Markdown Tips”Frontmatter
Section titled “Frontmatter”---title: Getting Starteddescription: Install and configure the project.---
# Getting Started
Content here...Sidebar Order
Section titled “Sidebar Order”Use numeric prefixes for ordering:
01-introduction.md02-installation.md03-configuration.mdManagement
Section titled “Management”flect page list # list all pagesflect page deploy <name> --repo github.com/you/repo # redeploy (picks up new commits)flect page delete <name>Custom Domain
Section titled “Custom Domain”flect page domain add <name> docs.mycompany.com# Add CNAME: docs.mycompany.com → <name>-<id>.up.flect.runPages vs Apps
Section titled “Pages vs Apps”| Page | App | |
|---|---|---|
| Source | GitHub repo (markdown) | Docker image |
| Runtime | Static files via Caddy | Node.js / any |
| DB / KV | ✗ | ✓ |
| Build | Astro (auto) | Your Dockerfile |
| Use case | Docs, marketing sites | APIs, web apps |