Receber por email
← Voltar para o catálogo

xcloud-docker-deploy

Implante qualquer projeto no xCloud hosting com detecção automática da stack (WordPress, Laravel, PHP, Node.js, Next.js, NestJS, Python, Go, Rust). A ferramenta direciona para implantação nativa ou Docker, gerando Dockerfile, docker-compose.yml, CI/CD do GitHub Actions e .env.example prontos para produção, mesmo sem configuração Docker prévia.

19estrelas
Atualizado há 8 meses

Ver no GitHub ↗ Licença: NOASSERTION

Como adicionar

/plugin marketplace add Asif2BD/xCloud-Docker-Deploy-Skill

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/xcloud-docker-deploy/svg)](https://www.skillteca.com.br/skills/xcloud-docker-deploy)

Skills relacionadas

Ver todas de DevOps e Infra →

Alerta por categoria

Receba novas skills de DevOps e Infra toda segunda

1 email curto, só com as skills novas de DevOps e Infra. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

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 project | Stack | Action | |---|---|---| | wp-config.php or wp-content/ | WordPress | Read references/xcloud-native-wordpress.md | | composer.json + artisan | Laravel | Read references/xcloud-native-laravel.md | | package.json + next.config.* | Next.js | Docker path → use dockerfiles/nextjs.Dockerfile + compose-templates/nextjs-postgres.yml | | package.json (no framework config) | Node.js | Read references/xcloud-native-nodejs.md | | composer.json (no artisan) | PHP | Read references/xcloud-native-php.md | | requirements.txt or pyproject.toml | Python | Docker path → use dockerfiles/python-fastapi.Dockerfile | | go.mod | Go | Docker path — generate Dockerfile manually | | docker-compose.yml exists | Existing Docker | Proceed to Step 1 below | | Dockerfile (no compose) | Build-from-source | Generate 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:

| Signal | Scenario | |--------|----------| | build: or build: context: . | A — Build-from-source | | Caddy / Traefik / nginx-proxy service | B — Proxy conflict | | Multiple ports: across services | B — Multi-port | | ./nginx.conf:/etc/nginx/... volume mount | B — External config | | Multiple services each with build: | C — Multi-service build | | image: some-public-image, single port | Already 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.

What to do:

  1. Remove Caddy/Traefik/nginx-proxy service entirely
  2. Remove SSL labels and multi-port ports: from app services (replace with expose:)
  3. Add nginx-router service with inline config via configs: block
  4. Expose single port (default: 3080) for xCloud to proxy

Deliverables:

  • Modified docker-compose.yml with nginx-router + configs: block
  • .env.example
  • xCloud Deploy Steps

Scenario C — Multi-Service Build

Read references/scenario-multi-service-build.md for full details.

When multiple services have build: directives (separate frontend + backend + worker):

What to do:

  1. For each service with build:, create a separate GHCR image path
  2. Generate a matrix GitHub Actions workflow that builds all images in parallel
  3. Update compose to use all GHCR image references

Deliverables:

  • Modified docker-compose.yml (all build: removed)
  • .github/workflows/docker-build.yml (matrix strategy)
  • .env.example

Output Format

Always produce complete, copy-paste-ready output:

## Modified docker-compose.yml
[full file]

## .github/workflows/docker-build.yml  (Scenario A/C only)
[full file]

## .env.example
[full file]

## xCloud Deploy Steps
1. Push repo to GitHub
2. (Scenario A/C) Wait for GitHub Actions to build image — check Actions tab
3. Server → New Site → Custom Docker → connect repo
4. Exposed port: [PORT]
5. Env vars to add: [list from .env.example]
6. Deploy

Rules

  • Never include build: in the final compose — xCloud silently ignores it
  • Never expose database ports to host (remove "5432:5432" — use expose: internally)
  • Never include Caddy, Traefik, nginx-proxy, or Let's Encrypt config
  • Always preserve environment:, volumes:, healthcheck:, worker/sidecar services
  • Always use expose: (internal) not ports: (host) for services behind nginx-router
  • WebSockets? Add upgrade headers to nginx config (see proxy-conflict reference)
  • configs.content: inline syntax requires Docker Compose v2.23+ — use heredoc command: alternative if uncertain

Examples

See examples/ for ready-made transformations:

  • examples/rybbit-analytics.md — Caddy + multi-port app (Scenario B)
  • examples/custom-app-dockerfile.md — build-from-source (Scenario A)
  • examples/fullstack-monorepo.md — multi-service build (Scenario C)
Compartilhar X LinkedIn