rockclaver/systemcraft

dockerize-and-deploy

Dockerizes a repo — Dockerfile, docker-compose with volumes, and a preflight script. Use to containerize an app, add Docker support, write a deployment pipeline, set up docker-compose, configure volumes, or deploy to production with Docker.

First seen Apr 1, 2026

Installation

$ npx skills add rockclaver/systemcraft --skill dockerize-and-deploy

Also in this package

Other skills from rockclaver/systemcraft · top by installs.

npx skills add rockclaver/systemcraft

Browse all from rockclaver/systemcraft

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,153 B
  • docs SUMMARY.md 270 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 49 installs

SKILL.md

Dockerize and Deploy

Containerize a repo and produce a deployment setup, one phase at a time.

Workflow

1. Audit

Identify runtime, services, datastores, build step, existing Docker files, and env vars. Propose phases before writing.

2. Phases

  1. Dockerfile — multi-stage: builder installs/compiles, runtime copies artifacts only, non-root user, pinned base image (e.g. node:20.11-alpine), .dockerignore excludes node_modules/.env/.git.
  2. docker-compose — dev stack: source mounts for hot reload, debug ports, named volumes.
  3. Production compose (docker-compose.prod.yml) — no source mounts, restart: unless-stopped, healthchecks, explicit volumes, mem_limit/cpus limits. See [REFERENCE.md](REFERENCE.md).
  4. Pre-flight — copy scripts/preflight.sh into the project; validates env vars, Docker, port conflicts, DB reachability, dry-run build. Run: bash scripts/preflight.sh.
  5. Deploy — scripts/deploy.sh: run preflight.sh (abort on fail) → pull/build image → run migrations → rolling restart → health-check → print status.

Merge or skip phases for simple repos.

3. Verify after each phase

docker build -t app:test .           # Dockerfile compiles
docker compose config                # compose files are valid YAML
docker compose up -d && docker compose ps  # services start healthy
bash scripts/preflight.sh            # pre-flight passes

Guardrails

  • Never embed secrets in Docker/compose files.
  • Always run containers as a non-root user.
  • No latest image tags in production — pin versions.
  • DB volumes: named volumes only, never host bind mounts.
  • No .env.example? Create one first.

References

  • [REFERENCE.md](REFERENCE.md) — volume/healthcheck patterns, resource limits, multi-stage examples by runtime, rolling deploy strategies.