본문으로 건너뛰기
cccskills
무료GitHub에 공개

servd

Servd (servd.host) — Craft-specialised managed hosting for Craft CMS. Covers git push-to-deploy with the optional servd.yaml build config, local → staging → production environments with uni-directional Project Config sync, the servd/craft-asset-storage plugin (S3-backed Flysystem volumes on the svdcdn.com CDN, off-server image transforms, Imager-X/ImageOptimize integrations), Servd's static caching (full vs tag-based purge, {% dynamicInclude %}, CSRF injection, cache-busting) and running Blitz alongside it in reverse-proxy mode, MariaDB/MySQL databases over an SSH tunnel, automatic + manual backups, the Dedicated Queue Runner, environment variables and secrets, the ephemeral load-balanced filesystem (Redis + remote volumes for runtime files), plugin/feature constraints, and Servd-vs-Craft-Cloud differences.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구AWSMySQLRedis
설치 방법 보기

포함된 파일(7)

  • SKILL.md11.5 KB
  • references/asset-storage.md6.1 KB
  • references/caching.md7.9 KB
  • references/database-and-queue.md6.1 KB
  • references/deploy-and-environments.md7.8 KB
  • references/limitations.md8.6 KB
  • references/local-dev.md5.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Servd — Managed Hosting for Craft CMS

Reference for Servd (servd.host), a Craft-specialised managed hosting platform. Covers git push-to-deploy and the servd.yaml build config, the local → staging → production workflow, the servd/craft-asset-storage plugin, Servd's static caching (and running Blitz alongside it), databases over SSH, backups, the queue runner, the ephemeral filesystem, and how Servd differs from Craft Cloud.

This skill is scoped to Servd specifically — what's different on Servd vs running Craft yourself on Forge or bare metal, and vs Pixel & Tonic's Craft Cloud. For generic Craft deployment, see the craftcms skill's deployment.md. For Craft Cloud, see the craft-cloud skill.

Companion Skills — Load When Needed

  • craftcms — When the Servd topic intersects plugin or module PHP (ephemeral-filesystem guards, queue-job design, asset filesystem code).
  • craft-site — When Servd intersects front-end templating ({% dynamicInclude %} islands in cached pages, transform usage, CSRF in cached forms).
  • ddev — For local development; Servd has no first-party local environment, so DDEV is the standard local stack.
  • craft-php-guidelines — When editing plugin PHP to add ephemeral-filesystem checks.

Documentation

Authoritative sources used to write this skill (Servd's own docs):

Per-claim URLs appear in each reference file. Last verified against the docs on 2026-05-30. Some operational details (cron, exact plan tiers) are not in the public docs and are flagged as Verify where they appear.

What's Different on Servd vs Self-Hosted

Each row is a place self-hosted habits will mislead you.

ConcernSelf-hostedServd
Config file.env, config/*.php, web-server configservd.yaml at repo root for the build step (optional; overrides dashboard); platform settings + runtime env vars in the Servd dashboard
DeployWhatever you've wiredGit push-to-deploy (GitHub/GitLab/Bitbucket or any SSH host) → Composer install + optional Node build
EnvironmentsYours to defineFixed local → staging → production, uni-directional; allowAdminChanges off everywhere except local
FilesystemLocal diskEphemeral + load-balanced — disk writes don't persist; use Redis (Craft data cache) or a remote asset volume
AssetsLocal or your own S3 configservd/craft-asset-storage — S3-backed Flysystem on the *.files.svdcdn.com CDN, auto-separated per environment
Image transformsNative / Imager-X / ImageOptimize on-serverOff-server transforms via the Servd Asset Platform; Imager-X uses transformer: 'servd'
DatabaseWhatever you installedMariaDB or MySQL 8, reached over an SSH tunnel
Page cachingBlitz or similarServd static caching built in; Blitz runs alongside it in reverse-proxy mode (not instead of)
QueueYou run a workerDefault AJAX-triggered; opt into the Dedicated Queue Runner (paid plans) for isolated immediate processing
CroncrontabNot documented as a user-configurable feature — design around the queue (Verify for a given plan)
RedisYou install itProvided — Craft's data cache is auto-mapped to a stateful Redis
SSHssh user@serverYes — SSH sessions (used e.g. for the DB tunnel)
Env vars.envDashboard-managed per environment (not a committed .env)

Servd vs Craft Cloud (quick contrast)

Both are managed Craft hosting with git deploy, ephemeral filesystems, S3 assets, off-server transforms, and dashboard env vars. Key differences for a developer:

ServdCraft Cloud
Repo configservd.yaml (build) + dashboardcraft-cloud.yaml
Asset layerservd/craft-asset-storage plugincraftcms/cloud bundled filesystem
DatabaseMariaDB or MySQL 8MySQL 8 / Postgres 15 (no MariaDB)
SSHYesNo
First-party CLINone (plugin console commands + dashboard)craftcms/cloud + php craft cloud/up
CachingServd static cache; Blitz runs alongsideEdge static caching; Blitz redundant
TransformsServd Asset Platform (svdcdn.com)Cloudflare Images at the edge
QueueDedicated Queue Runner (paid)Auto-processed

Common Pitfalls (Cross-Cutting)

  • Writing to disk and expecting persistence. The filesystem is ephemeral and load-balanced — writes vanish and aren't shared across instances. Use Craft's data cache (auto-mapped to Redis) or a remote asset volume. See references/limitations.md.
  • Making schema/Project Config changes anywhere but local. Servd sets allowAdminChanges: false on staging and production and syncs uni-directionally (local → staging → production). Make changes in local, commit, deploy. See references/deploy-and-environments.md.
  • Treating Blitz as a replacement for Servd's caching. On Servd you run Blitz alongside the static cache in reverse-proxy mode (Yii Cache Storage + HTTP Generator + Servd Static Cache Purger) — Blitz's own server-rewrite mode is broken by Servd's load balancing. See references/caching.md.
  • Committing a .env for runtime config. Runtime env vars live in the Servd dashboard per environment, not a committed .env. SERVD_PROJECT_SLUG / SERVD_SECURITY_KEY come from the dashboard's Assets page.
  • Using a local asset volume. User assets must use the servd/craft-asset-storage filesystem so they land on the Servd Asset Platform and survive deploys. See references/asset-storage.md.
  • Putting composer install / npm run build in a CI action. Servd runs both during its build step. Configure the Node build via servd.yaml or the dashboard instead. See references/deploy-and-environments.md.
  • Assuming arbitrary cron. Servd doesn't document user-configurable cron. Move recurring work into queue jobs and the Dedicated Queue Runner. Verify per plan. See references/database-and-queue.md.
  • Choosing the wrong database habits. Servd supports MariaDB and MySQL 8; reach the DB over the SSH tunnel, not a direct public port. See references/database-and-queue.md.

Reference Files

Read the relevant reference file(s) for your task. Multiple files often apply.

Task examples:

  • "Deploy a Craft site to Servd" → deploy-and-environments.md
  • "Configure the Node build step / servd.yaml" → deploy-and-environments.md
  • "Set up environments and sync between them" → deploy-and-environments.md + local-dev.md
  • "Install Servd asset storage" → asset-storage.md
  • "Why are my uploaded assets disappearing?" → asset-storage.md + limitations.md
  • "Set up image transforms on Servd" → asset-storage.md
  • "Enable static caching" → caching.md
  • "Run Blitz on Servd" → caching.md (Blitz reverse-proxy mode)
  • "Add a dynamic island to a cached page" → caching.md ({% dynamicInclude %})
  • "Connect to the Servd database" → database-and-queue.md
  • "Set up the queue / run recurring jobs" → database-and-queue.md
  • "Back up / restore / sync the database" → database-and-queue.md + local-dev.md
  • "Set up local development for a Servd project" → local-dev.md
  • "Pull production assets/database to local" → local-dev.md
  • "Why does my plugin's file write fail on Servd?" → limitations.md
  • "What plugins work on Servd?" → limitations.md
  • "Should I use Servd or Craft Cloud?" → limitations.md (Servd vs Cloud) + this file's table

Load only the reference files your task needs.

ReferenceScope~Lines
references/deploy-and-environments.mdGit push-to-deploy, the build step (Composer + Node, servd.yaml keys, Node versions), environments (local → staging → production, uni-directional), Project Config + allowAdminChanges, env vars & secrets, the deploy/clone workflow~150
references/asset-storage.mdservd/craft-asset-storage plugin (composer package, handle, install), SERVD_PROJECT_SLUG/SERVD_SECURITY_KEY, the Servd filesystem on *.files.svdcdn.com, per-environment dirs, off-server transforms, Imager-X (transformer: 'servd') and ImageOptimize integrations~140
references/caching.mdServd static caching (enable + TTL, Full vs Tag-Based purge, exclude prefixes, {% dynamicInclude %} tag, CSRF injection, auto cache-busting on save, clear-caches/servd-static-cache + servd-edge-caches), and running Blitz in reverse-proxy mode~140
references/database-and-queue.mdMariaDB / MySQL 8, SSH-tunnel access, automatic + manual backups (30-day retention, 90-day deleted-asset window), the Dedicated Queue Runner, the cron caveat, console sync commands~130
references/local-dev.mdDDEV-based local dev (no first-party Servd local env), SERVD_* vars for local, servd-asset-storage/local/pull-assets·push-assets·pull-database·push-database, servd-asset-storage/clone, uni-directional sync discipline~120
references/limitations.mdEphemeral + load-balanced filesystem (Redis + remote volumes for runtime files), plugin/feature constraints, the documented-vs-unknown gaps (cron), the full Servd-vs-Craft-Cloud comparison, and the repo detection signals (servd/craft-asset-storage, servd.yaml, SERVD_* env vars)~140

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Craft Cloud — Pixel & Tonic's serverless hosting platform for Craft CMS. Covers craft-cloud.yaml configuration, the Build → Migrate → Release deploy pipeline, the craftcms/cloud extension package, edge image transforms via Cloudflare, edge static caching with cache.rules + ESI, Cloud-managed S3 filesystem, MySQL 8 / Postgres 15 databases (no MariaDB, no tablePrefix), Console-based command runner and scheduled cron (once-per-hour minimum), auto-handled queue jobs, custom domains and SSL, preview environments per branch, Cloud limitations (ephemeral filesystem, no SSH, no .htaccess, no built-in mail), plugin development requirements for Cloud compatibility, and self-hosted → Cloud migration.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

michtio/craftcms-claude-skills862026년 10월 16일 업데이트

Craft CMS 5 content modeling — sections, entry types, fields, Matrix, relations, project config, and content architecture strategy. Covers choosing section types, designing entry types and field layouts, selecting field types, configuring Matrix and nested entries, relations and eager loading, and multi-site propagation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

michtio/craftcms-claude-skills862026년 10월 16일 업데이트

Garnish — Craft CMS's built-in JavaScript UI toolkit for the control panel. ALWAYS load when writing, editing, or reviewing JavaScript that runs in the Craft CP — plugin CP assets, custom field type JS, element index JS, CP webpack config, or code importing garnishjs / referencing window.Garnish. Also for CP accessibility, keyboard interactions, drag-sort, and CP JS memory issues.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

michtio/craftcms-claude-skills862026년 10월 16일 업데이트

Testing Craft CMS 5 plugins and modules with Pest — test isolation, database safety, and the markhuot/craft-pest-core harness. ALWAYS load when writing, running, fixing, or reviewing tests for a Craft plugin or module, and whenever a suite touches a real Craft install. Covers why rollback is opt-in, tests/Pest.php + tests/bootstrap.php wiring, phpunit.xml.dist <env> pins (force DB name + table prefix, default connection coordinates, pin CRAFT_ENVIRONMENT against server-scoped locks), why --configuration= defeats DB isolation, throwing fail-closed DB guards, installing the plugin under test, process-timezone pinning, per-test site fixtures, idempotent Install migrations, stale service caches when components get swapped, muting audit sinks, queue stubs, factories, HTTP/DB assertions, CI jobs.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

michtio/craftcms-claude-skills862026년 10월 16일 업데이트

Craft CMS 5 PHP coding standards and conventions. ALWAYS load when writing, editing, reviewing, or discussing any PHP in a Craft plugin or module — even small edits. Also when running ECS, PHPStan, or scaffolding with ddev craft make. Covers: PHPDoc blocks (@author, @since, @throws chains), section headers (=========), class organization, naming conventions (services, queue jobs, records, events, enums), defineRules() and validation, beforePrepare() and addSelect(), MemoizableArray, DateTimeHelper vs Carbon, strict_types/declare(strict_types=1), short nullable notation (?string), typed properties, void returns, control flow (early returns, match over switch), CP Twig template conventions, form macros, translations (Craft::t), ECS/PHPStan config, scaffolding commands, and the verification checklist.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

michtio/craftcms-claude-skills862026년 10월 16일 업데이트

Releasing Craft CMS plugins — tagging, Packagist propagation, GitHub releases, branch promotion, shared-library ordering, history rewrites. ALWAYS load when cutting, preparing, verifying, or debugging a plugin release: bumping a version, dating a changelog, creating or moving a git tag, or checking what Packagist serves.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

michtio/craftcms-claude-skills862026년 10월 16일 업데이트

michtio의 스킬 모두 보기

이 스킬의 문제 신고