ClawKit Logo
ClawKitReliability Toolkit
Back to Registry
Official Verified

xcloud-docker-deploy

Deploy any project to xCloud hosting — auto-detects stack (WordPress, Laravel, PHP, Node.js, Next.js, NestJS, Python, Go, Rust), routes to native or Docker deployment, generates production-ready Dockerfile, docker-compose.yml, GitHub Actions CI/CD, and .env.example. Works from zero Docker setup.

skill-install — Terminal

Install via CLI (Recommended)

clawhub install openclaw/skills/skills/asif2bd/xcloud-docker-deploy
Or

xCloud Docker Deploy

Adapt any docker-compose.yml to work with xCloud — a git-push Docker deployment platform.

How xCloud Works

git push → xCloud runs: docker-compose pull && docker-compose up -d

xCloud never runs docker build. Images must be pre-built in a public registry. SSL, reverse proxy, and domain routing are handled by xCloud — your stack must not duplicate them.

Read references/xcloud-constraints.md for the full ruleset before making changes.


Phase 0 — Detect Project Type First

Before anything else, scan the project directory for these files:

Read DETECT.md for full detection rules. Quick routing:

Found in projectStackAction
wp-config.php or wp-content/WordPressRead references/xcloud-native-wordpress.md
composer.json + artisanLaravelRead references/xcloud-native-laravel.md
package.json + next.config.*Next.jsDocker path → use dockerfiles/nextjs.Dockerfile + compose-templates/nextjs-postgres.yml
package.json (no framework config)Node.jsRead references/xcloud-native-nodejs.md
composer.json (no artisan)PHPRead references/xcloud-native-php.md
requirements.txt or pyproject.tomlPythonDocker path → use dockerfiles/python-fastapi.Dockerfile
go.modGoDocker path — generate Dockerfile manually
docker-compose.yml existsExisting DockerProceed to Step 1 below
Dockerfile (no compose)Build-from-sourceGenerate compose → Scenario A below

See references/xcloud-deploy-paths.md for the Native vs Docker decision guide.


Step 1 — Detect Which Scenarios Apply

Inspect the provided docker-compose.yml:

SignalScenario
build: or build: context: .A — Build-from-source
Caddy / Traefik / nginx-proxy serviceB — Proxy conflict
Multiple ports: across servicesB — Multi-port
./nginx.conf:/etc/nginx/... volume mountB — External config
Multiple services each with build:C — Multi-service build
image: some-public-image, single portAlready compatible — verify port + env vars

A compose file can trigger multiple scenarios simultaneously (handle A first, then B).


Scenario A — Build-from-Source

Read references/scenario-build-source.md for full details.

What to do:

  1. Remove build: directive from compose
  2. Replace image: with ghcr.io/OWNER/REPO:latest
  3. Generate .github/workflows/docker-build.yml using assets/github-actions-build.yml template
  4. Generate .env.example from all ${VAR} references

Deliverables:

  • Modified docker-compose.yml
  • .github/workflows/docker-build.yml
  • .env.example
  • xCloud Deploy Steps (see Output Format)

Scenario B — Proxy Conflict / Multi-Port / External Config

Read references/scenario-proxy-conflict.md for full details.

Metadata

Author@asif2bd
Stars2387
Views0
Updated2026-03-09
View Author Profile
AI Skill Finder

Not sure this is the right skill?

Describe what you want to build — we'll match you to the best skill from 16,000+ options.

Find the right skill
Add to Configuration

Paste this into your clawhub.json to enable this plugin.

{
  "plugins": {
    "official-asif2bd-xcloud-docker-deploy": {
      "enabled": true,
      "auto_update": true
    }
  }
}

Tags

#docker#deployment#devops#xcloud#docker-compose#github-actions#wordpress#laravel#nextjs#nodejs#python#ci-cd#hosting#infrastructure
Safety NoteClawKit audits metadata but not runtime behavior. Use with caution.