Files
opencode-skill/NIXPACKS_INTEGRATION.md
Kunthawat Greethong 107ebad97c feat: Major website-creator skill update
- Reverted to Dockerfile deployment (from nixpacks)
- Created Thai legal document templates (PDPA compliant)
  - Privacy Policy template (Thai law)
  - Terms of Service template (Thai Consumer Protection Act)
- Updated cookie consent to actually block/enable cookies
- Added template folder structure
- All templates research-based from major Thai company websites

Compliance:
- Thai PDPA (Personal Data Protection Act B.E. 2562)
- Thai Consumer Protection Act
- Thai Computer Crime Act
2026-03-10 19:28:28 +07:00

4.1 KiB

🚀 Nixpacks Integration - Complete

Date: 2026-03-09
Status: Complete - Nixpacks is now default


🎯 What Changed

Before:

  • Easypanel deployment required Dockerfile
  • Users needed to maintain Docker configuration
  • More complex deployment setup

After:

  • Nixpacks is now the default build type
  • No Dockerfile needed
  • Astro projects auto-detected
  • Simpler deployment

📝 Technical Details

Updated File:

  • skills/easypanel-deploy/scripts/deploy.py

Changes:

Old Code:

def create_service(project_name, service_name, token):
    data = {"json": {"build": {"type": "dockerfile", "file": "Dockerfile"}}}

New Code:

def create_service(project_name, service_name, token):
    data = {"json": {"build": {"type": "nixpacks"}}}

🎉 Benefits

1. No Dockerfile Required

  • Astro projects automatically detected
  • Nixpacks analyzes package.json and configures build automatically

2. Automatic Build Detection

Nixpacks automatically detects:

  • Node.js/Astro projects
  • Python projects
  • Static sites
  • And 30+ other frameworks

3. Simpler Configuration

No need to maintain:

  • Dockerfile
  • docker-compose.yml
  • Build configuration

4. Faster Deployment

  • Nixpacks optimizes build cache
  • Faster builds than traditional Docker

🚀 How It Works

When You Create a Website:

python3 create_astro_website.py --name "My Site" --output "./my-site"

Deployment Flow:

  1. Website created with Astro
  2. Pushed to Gitea
  3. Easypanel service created with nixpacks build type
  4. Nixpacks analyzes package.json
  5. Automatically builds with correct Node.js version
  6. Deploys to production

No Dockerfile needed!


📊 Nixpacks vs Dockerfile

Feature Nixpacks Dockerfile
Configuration Automatic Manual
Maintenance None Required
Build Speed Fast (cached) Slower
Complexity Simple Complex
Astro Support Auto-detected Manual setup

🎯 For Users

No Changes Needed!

If you're using the website-creator skill:

  • Everything works the same
  • Just run the skill as usual
  • Nixpacks handles everything automatically

Example Usage:

# Create website - now uses nixpacks automatically!
python3 ~/.config/opencode/skills/website-creator/scripts/create_astro_website.py \
  --name "My Website" \
  --output "./my-website"

# That's it! No Dockerfile configuration needed.

🔧 For Developers

Easypanel Deploy Skill:

# Deploy with nixpacks (default)
python3 ~/.config/opencode/skills/easypanel-deploy/scripts/deploy.py \
  --project "my-project" \
  --service "my-service" \
  --git-url "https://git.moreminimore.com/user/repo.git"

Automatically uses nixpacks build type!


📦 What Nixpacks Detects

For Astro projects, nixpacks automatically:

  1. Detects package.json
  2. Installs correct Node.js version
  3. Runs npm install
  4. Runs npm run build
  5. Serves static files

No configuration needed!


Testing

All skills tested and working:

  • website-creator - Creates Astro projects
  • easypanel-deploy - Deploys with nixpacks
  • gitea-sync - Pushes to Gitea
  • All integrations working

📝 Migration

Existing Websites with Dockerfile:

If you have existing websites with Dockerfile:

  • No action needed - they continue to work
  • Nixpacks is only for new deployments
  • Existing deployments unaffected

New Websites:

All new websites automatically use nixpacks:

  • No Dockerfile created
  • Simpler deployment
  • Faster builds

🎊 Summary

Before:

  • Required Dockerfile
  • Manual configuration
  • More maintenance

After:

  • Nixpacks default
  • Zero configuration
  • Automatic detection
  • Faster deployment

🚀 Nixpacks integration complete! 🎉