Add deployment and content documentation
This commit is contained in:
98
CHECKLIST.md
Normal file
98
CHECKLIST.md
Normal file
@@ -0,0 +1,98 @@
|
||||
# Website Launch Checklist - MoreminiMore
|
||||
|
||||
## Pre-Launch
|
||||
|
||||
### Code & Build
|
||||
- [x] Astro 6 project created
|
||||
- [x] All pages designed and implemented
|
||||
- [x] Content migrated from old website
|
||||
- [x] Images generated for all pages
|
||||
- [x] Dependencies installed and verified
|
||||
- [x] Build successful (`npm run build`)
|
||||
- [x] Code pushed to Gitea
|
||||
|
||||
### Functionality
|
||||
- [ ] Test contact form submission
|
||||
- [ ] Verify cookie consent works
|
||||
- [ ] Check all internal links
|
||||
- [ ] Verify blog post images load
|
||||
- [ ] Test mobile responsive layout
|
||||
|
||||
### SEO
|
||||
- [ ] Sitemap generated
|
||||
- [ ] robots.txt configured
|
||||
- [ ] Meta descriptions on all pages
|
||||
- [ ] OG images set (if using social sharing)
|
||||
|
||||
## Deployment
|
||||
|
||||
### Easypanel
|
||||
- [x] Service created
|
||||
- [x] Git repository connected
|
||||
- [x] Build configuration set
|
||||
- [ ] Deployment successful (blocked - Docker issue)
|
||||
- [ ] Domain configured (if applicable)
|
||||
- [ ] SSL certificate active (if applicable)
|
||||
|
||||
### Post-Deploy Verification
|
||||
- [ ] Site accessible at deployment URL
|
||||
- [ ] All pages load correctly
|
||||
- [ ] Images display properly
|
||||
- [ ] Forms work (contact)
|
||||
- [ ] Cookie consent appears
|
||||
- [ ] Mobile experience tested
|
||||
|
||||
## Legal Compliance (PDPA)
|
||||
|
||||
- [x] Privacy Policy page created
|
||||
- [x] Terms of Service page created
|
||||
- [x] Cookie consent mechanism implemented
|
||||
- [ ] Consent logs page accessible at `/admin/consent-logs`
|
||||
- [ ] Privacy policy reviewed by legal team
|
||||
- [ ] Terms of service reviewed by legal team
|
||||
|
||||
## Analytics
|
||||
|
||||
- [ ] Umami tracking code installed
|
||||
- [ ] Analytics verified working
|
||||
- [ ] Dashboard accessible
|
||||
|
||||
## Post-Launch
|
||||
|
||||
### Monitoring
|
||||
- [ ] Set up uptime monitoring
|
||||
- [ ] Configure error tracking
|
||||
- [ ] Check analytics data after 24 hours
|
||||
|
||||
### Backup & Maintenance
|
||||
- [ ] Regular backup schedule configured
|
||||
- [ ] Update schedule established
|
||||
- [ ] Monitoring alerts set up
|
||||
|
||||
## Team Access
|
||||
|
||||
- [ ] Developer access to Easypanel
|
||||
- [ ] Developer access to Gitea
|
||||
- [ ] Access to analytics dashboard
|
||||
- [ ] Contact information updated
|
||||
|
||||
## Emergency Contacts
|
||||
|
||||
| Role | Contact | Notes |
|
||||
|------|---------|-------|
|
||||
| Server Admin | Internal | Easypanel issues |
|
||||
| Developer | Current team | Code/build issues |
|
||||
| Legal | TBD | PDPA compliance |
|
||||
|
||||
## Quick Links
|
||||
|
||||
- **Gitea Repository**: https://git.moreminimore.com/kunthawat/moreminimore-new
|
||||
- **Easypanel**: http://110.164.146.47:3000
|
||||
- **Project**: moreminimore-newastro
|
||||
- **Service**: moreminimore-newastro
|
||||
|
||||
## Notes
|
||||
|
||||
- Deployment is currently blocked by Docker infrastructure issues on Easypanel
|
||||
- Local build is verified working
|
||||
- Code is pushed to Gitea and ready for deployment
|
||||
157
CONTENT-GUIDE.md
Normal file
157
CONTENT-GUIDE.md
Normal file
@@ -0,0 +1,157 @@
|
||||
# Content Guide - MoreminiMore Website
|
||||
|
||||
## Overview
|
||||
|
||||
This website uses Astro 6 with Content Collections for managing blog posts and pages.
|
||||
|
||||
## Content Structure
|
||||
|
||||
```
|
||||
src/content/
|
||||
├── blog/
|
||||
│ ├── post-1.md
|
||||
│ ├── post-2.md
|
||||
│ └── ...
|
||||
└── config.ts # Content collection definitions
|
||||
```
|
||||
|
||||
## Adding New Blog Posts
|
||||
|
||||
1. Create a new `.md` file in `src/content/blog/`
|
||||
2. Use the frontmatter template below:
|
||||
|
||||
```markdown
|
||||
---
|
||||
title: "Your Post Title"
|
||||
description: "SEO description for this post"
|
||||
pubDate: 2026-04-22
|
||||
image: "/images/blog/your-image.jpg"
|
||||
tags: ["tag1", "tag2"]
|
||||
---
|
||||
|
||||
Your content here...
|
||||
```
|
||||
|
||||
## Frontmatter Fields
|
||||
|
||||
| Field | Type | Required | Description |
|
||||
|-------|------|----------|-------------|
|
||||
| `title` | string | Yes | Post title |
|
||||
| `description` | string | Yes | SEO meta description |
|
||||
| `pubDate` | Date | Yes | Publication date |
|
||||
| `image` | string | Yes | Hero image path (16:9 recommended) |
|
||||
| `tags` | string[] | No | Tags for categorization |
|
||||
|
||||
## Images
|
||||
|
||||
### Blog Post Images
|
||||
- Location: `public/images/blog/`
|
||||
- Aspect ratio: 16:9
|
||||
- Recommended size: 1200x675px or larger
|
||||
- Formats: JPG, PNG, WebP
|
||||
|
||||
### Service Page Images
|
||||
- Location: `public/images/services/`
|
||||
- Each service has dedicated images:
|
||||
- `hero.jpg` - Hero section
|
||||
- `about.jpg` - About section
|
||||
- `feature-1.jpg`, `feature-2.jpg`, etc.
|
||||
|
||||
### Homepage Images
|
||||
- Location: `public/images/`
|
||||
- `hero-home.jpg` - Main hero
|
||||
- `about-home.jpg` - About section
|
||||
- `contact-home.jpg` - Contact section
|
||||
|
||||
## Page Structure
|
||||
|
||||
### Static Pages
|
||||
- `src/pages/index.astro` - Homepage
|
||||
- `src/pages/about-us.astro` - About page
|
||||
- `src/pages/contact-us.astro` - Contact page
|
||||
- `src/pages/faq.astro` - FAQ page
|
||||
- `src/pages/portfolio.astro` - Portfolio page
|
||||
|
||||
### Service Pages
|
||||
- `src/pages/web-development.astro`
|
||||
- `src/pages/marketing-automation.astro`
|
||||
- `src/pages/ai-automation.astro`
|
||||
- `src/pages/tech-consult.astro`
|
||||
|
||||
### Blog
|
||||
- `src/pages/blog/index.astro` - Blog listing
|
||||
- `src/pages/blog/[slug].astro` - Individual post (dynamic)
|
||||
|
||||
### Legal
|
||||
- `src/pages/privacy-policy.astro`
|
||||
- `src/pages/terms-and-conditions.astro`
|
||||
|
||||
### Admin
|
||||
- `src/pages/admin/consent-logs.astro` - Cookie consent logs
|
||||
|
||||
## Content Collections (Astro DB)
|
||||
|
||||
### Blog Collection
|
||||
```typescript
|
||||
const blogCollection = defineCollection({
|
||||
type: 'content',
|
||||
schema: z.object({
|
||||
title: z.string(),
|
||||
description: z.string(),
|
||||
pubDate: z.date(),
|
||||
image: z.string(),
|
||||
tags: z.array(z.string()).optional(),
|
||||
}),
|
||||
});
|
||||
```
|
||||
|
||||
## Adding New Pages
|
||||
|
||||
1. Create `.astro` file in `src/pages/`
|
||||
2. Import and use Layout:
|
||||
```astro
|
||||
---
|
||||
import Layout from '../layouts/Layout.astro';
|
||||
---
|
||||
<Layout title="Page Title" description="SEO description">
|
||||
<main>
|
||||
<!-- Your content -->
|
||||
</main>
|
||||
</Layout>
|
||||
```
|
||||
|
||||
## SEO Best Practices
|
||||
|
||||
1. **Title**: Keep under 60 characters
|
||||
2. **Description**: Keep under 160 characters
|
||||
3. **Images**: Always include alt text
|
||||
4. **Headings**: Use proper heading hierarchy (h1 → h2 → h3)
|
||||
|
||||
## Thai Content
|
||||
|
||||
All content is in Thai language. When adding new content:
|
||||
- Use Thai characters
|
||||
- Follow Thai writing conventions
|
||||
- Include Thai punctuation
|
||||
|
||||
## Testing Content
|
||||
|
||||
```bash
|
||||
# Run development server
|
||||
npm run dev
|
||||
|
||||
# Build for production
|
||||
npm run build
|
||||
|
||||
# Preview production build
|
||||
npm run preview
|
||||
```
|
||||
|
||||
## Content Review Checklist
|
||||
|
||||
Before publishing:
|
||||
- [ ] Proofread Thai content
|
||||
- [ ] Check all images load correctly
|
||||
- [ ] Verify links work
|
||||
- [ ] Test on mobile view
|
||||
- [ ] Check page titles and descriptions
|
||||
84
DEPLOYMENT.md
Normal file
84
DEPLOYMENT.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# Deployment Guide - MoreminiMore New Website
|
||||
|
||||
## Quick Deploy
|
||||
|
||||
### Prerequisites
|
||||
- Easypanel server running at `http://110.164.146.47:3000`
|
||||
- Gitea repository: https://git.moreminimore.com/kunthawat/moreminimore-new
|
||||
|
||||
### Deployment Steps
|
||||
|
||||
1. **Open Easypanel Dashboard**
|
||||
URL: http://110.164.146.47:3000
|
||||
|
||||
2. **Navigate to Project**
|
||||
- Project: `moreminimore-newastro`
|
||||
- Service: `moreminimore-newastro`
|
||||
|
||||
3. **Trigger Deployment**
|
||||
- Click "Deploy" button in the dashboard
|
||||
- Or use API:
|
||||
```bash
|
||||
curl -X POST "http://110.164.146.47:3000/api/trpc/services.app.deployService" \
|
||||
-H "Authorization: Bearer YOUR_TOKEN" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"json":{"projectName":"moreminimore-newastro","serviceName":"moreminimore-newastro","forceRebuild":true}}'
|
||||
```
|
||||
|
||||
4. **Monitor Deployment**
|
||||
- Check logs in Easypanel dashboard
|
||||
- Build takes ~2-3 minutes
|
||||
|
||||
## Build Configuration
|
||||
|
||||
- **Build Type**: Nixpacks (Astro detection)
|
||||
- **Node Version**: 20-alpine (via nixpacks)
|
||||
- **Port**: 4321 (Astro default)
|
||||
- **Build Command**: `npm run build`
|
||||
- **Output Directory**: `dist/`
|
||||
|
||||
## Environment Variables
|
||||
|
||||
The following are set automatically by Nixpacks:
|
||||
- `PORT=4321`
|
||||
- `NODE_ENV=production`
|
||||
|
||||
No additional environment variables required.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Docker Build Failing
|
||||
If you see `docker buildx build` errors:
|
||||
1. Check Easypanel server Docker daemon is running
|
||||
2. Try redeploying after a few minutes
|
||||
3. Contact server administrator if issue persists
|
||||
|
||||
### Build Timeout
|
||||
- Nixpacks build timeout: 15 minutes
|
||||
- If build takes longer, check npm dependencies
|
||||
|
||||
### Port Issues
|
||||
- Default Astro port: 4321
|
||||
- If 4321 is in use, set `PORT` env var
|
||||
|
||||
## Manual Build (Alternative)
|
||||
|
||||
If Easypanel deployment fails, build locally:
|
||||
|
||||
```bash
|
||||
cd /Users/kunthawatgreethong/Gitea/moreminimore-new
|
||||
npm run build
|
||||
```
|
||||
|
||||
Then deploy the `dist/` folder manually via SFTP or other method.
|
||||
|
||||
## Service Details
|
||||
|
||||
| Property | Value |
|
||||
|----------|-------|
|
||||
| Project | moreminimore-newastro |
|
||||
| Service | moreminimore-newastro |
|
||||
| Type | app |
|
||||
| Build | nixpacks |
|
||||
| Git | https://git.moreminimore.com/kunthawat/moreminimore-new |
|
||||
| Branch | main |
|
||||
Reference in New Issue
Block a user