# Deployment Guide - MoreminiMore Redesign

## Overview

This website is deployed using **Easypanel** with automatic deployment from **Gitea**.

## Architecture

- **Framework**: Astro (Static Site Generator)
- **Styling**: Tailwind CSS v4
- **Container**: Docker (Node.js 20 Alpine)
- **Git**: Gitea (https://git.moreminimore.com/kunthawat/moreminimore-website.git)
- **Deployment**: Easypanel (Auto-deploy on push)

## Directory Structure

```
moreminimore-redesign/
├── src/
│   ├── pages/              # Astro pages (routes)
│   │   ├── index.astro     # Homepage
│   │   ├── about-us.astro
│   │   ├── contact-us.astro
│   │   ├── category/seo.astro
│   │   └── *.astro         # Service pages
│   ├── layouts/
│   │   └── Layout.astro    # Main layout with header/footer
│   └── styles/
│       └── global.css      # Tailwind + custom styles
├── public/
│   └── branding/           # Logo, favicons
├── Dockerfile              # Multi-stage build
├── package.json
└── astro.config.mjs
```

## Docker Deployment

### Local Testing

```bash
# Build Docker image
docker build -t moreminimore-redesign:latest .

# Run locally
docker run -p 4321:4321 moreminimore-redesign:latest

# Visit: http://localhost:4321
```

### Easypanel Configuration

1. **Create Project** in Easypanel
2. **Add Git Repository**:
   - Provider: Gitea
   - URL: `https://gitea.moreminimore.com/moreminimore/moreminimore-redesign.git`
   - Branch: `main`

3. **Docker Settings**:
   - Dockerfile: `Dockerfile`
   - Port: `4321`
   - Command: `npx astro preview --host 0.0.0.0 --port 4321`

4. **Enable Auto-Deploy**:
   - Go to Settings → Auto-deploy
   - Enable: ✅
   - Branch: `main`

## Manual Deployment

If auto-deploy fails:

```bash
# Push to Gitea
git add .
git commit -m "Update: [description]"
git push origin main

# Check Easypanel build logs
# Website will auto-redeploy
```

## Environment Variables

No environment variables required (static site).

## SSL/HTTPS

Easypanel automatically provisions SSL certificates via Let's Encrypt.

## Rollback

To rollback to a previous version:

1. Go to Easypanel → Deployments
2. Find the previous successful deployment
3. Click "Redeploy"

## Monitoring

- **Uptime**: Check via Easypanel dashboard
- **Logs**: Easypanel → Service → Logs
- **Build Logs**: Easypanel → Service → Deployments

## Content Updates

### Adding Blog Posts

See `CONTENT-GUIDE.md` for detailed instructions.

### Updating Pages

1. Edit the `.astro` file in `src/pages/`
2. Commit and push to `main`
3. Wait for auto-deploy (~2 minutes)
4. Verify on production

## Troubleshooting

### Build Fails

1. Check build logs in Easypanel
2. Test locally: `npm run build`
3. Fix errors and push again

### Site Not Updating

1. Check if auto-deploy is enabled
2. Verify Git webhook is working
3. Manually trigger redeploy in Easypanel

### Docker Issues

```bash
# Clear Docker cache
docker builder prune -a

# Rebuild
docker build --no-cache -t moreminimore-redesign:latest .
```

## Support

For deployment issues, contact the development team.
