# Terminal 1: Start Astro dev server
npm run dev# Terminal 2: Start Decap CMS backend
npx decap-server- Main Site: http://localhost:4321
- CMS Admin: http://localhost:4321/admin
- CMS Backend: http://localhost:8081
- Go to http://localhost:4321/admin
- Click "Login with Netlify Identity"
- You should see a "Local Backend" option
- Click "Login" (no password needed for local development)
- Start creating/editing content!
npm run build
# Deploy the dist/ folder to Netlify- Go to your Netlify dashboard
- Navigate to Site settings > Identity
- Click "Enable Identity"
- Configure registration and access settings
Add these to your Netlify environment:
GIT_GATEWAY_ENABLED=trueNETLIFY_USE_YARN=true(if using yarn)
- Go to Identity tab in Netlify dashboard
- Click "Invite users"
- Add email addresses
- Users will receive invitation emails
astro-wiki/
├── public/
│ ├── config.yml # CMS configuration
│ └── admin/
│ └── index.html # CMS interface (legacy)
├── src/
│ ├── pages/
│ │ └── admin.astro # CMS admin page
│ └── content/docs/ # Your content
└── package.json
The CMS is configured in public/config.yml with:
- Collections: General, Association, Finance, DevOps, Tools
- Fields: Title, Description, Body (markdown), Tags, Draft status
- Media: Images stored in
src/assets/images/
- CMS not loading: Make sure both servers are running
- Config not found: Check that
public/config.ymlexists - Backend connection failed: Ensure
decap-serveris running on port 8081
- Authentication failed: Check Netlify Identity settings
- Git Gateway errors: Verify environment variables
- Build failures: Check for syntax errors in content
- Go to CMS admin
- Select a collection (General, Association, etc.)
- Click "New [Collection]"
- Fill in the fields:
- Title: Page title
- Description: Brief description
- Body: Main content (markdown)
- Tags: Optional tags for organization
- Draft: Set to true for unpublished content
- Click "Publish"
- Go to CMS admin
- Select a collection
- Click on an existing entry
- Make your changes
- Click "Publish"
# Development (run in separate terminals)
npm run dev # Terminal 1
npx decap-server # Terminal 2
# Or use the convenience script
./start-dev.sh # Starts both servers- Customize the CMS: Edit
public/config.ymlfor your needs - Add custom fields: Configure additional field types
- Set up previews: Configure content previews
- Deploy: Deploy to your preferred hosting platform