static-deploy
Static-deploy provides Caddy and nginx configuration patterns for serving static HTML sites without server-side runtimes. Use this skill when deploying projects with an index.html file or Staticfile at the root, including built single-page applications, static site generator output, or plain HTML directories.
git clone --depth 1 https://github.com/nixopus/nixopus /tmp/static-deploy && cp -r /tmp/static-deploy/api/skills/static-deploy ~/.claude/skills/static-deploySKILL.md
# Static Files Deployment ## Detection Project is static if: 1. `index.html` exists in the root 2. Or `Staticfile` exists at the project root (explicit configuration) ## Configuration ### Root Directory 1. `Staticfile` contents: `root: <dir>` 2. Default: current directory (`.`) ### Staticfile Create a `Staticfile` at the project root: ``` root: dist ``` ### Custom Caddyfile Place a `Caddyfile` at the project root to override the default Caddy configuration. ## Typical Layouts | Layout | Root to serve | |---|---| | Built SPA (Vite, etc.) | `dist` | | Jekyll / Hugo output | `_site` or `public` | | Plain HTML | `.` (current dir) | | Nested | Configure via Staticfile | ## Dockerfile Patterns ### Nginx ```dockerfile FROM nginx:alpine COPY . /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] ``` ### Caddy ```dockerfile FROM caddy:alpine COPY . /srv EXPOSE 80 CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile"] ``` ### With custom Caddyfile ```dockerfile FROM caddy:alpine COPY Caddyfile /etc/caddy/Caddyfile COPY dist /srv EXPOSE 80 CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile"] ```
Reference for all Nixopus API operations callable via nixopus_api(method, path, body)
Generate Caddyfile configurations for static sites and reverse proxies — SPA fallback routing, cache headers, compression, redirects, and error pages. Use when deploying a static site that needs custom Caddy configuration, or when the user needs SPA routing, caching, or redirect rules.
Generate docker-compose.yml for multi-service setups including databases, caches, and service dependencies. Use when the app needs a database, cache, message broker, or has multiple independently deployable services.
Size container memory and CPU limits, diagnose OOM kills and CPU throttling, and recommend resource adjustments by ecosystem. Use when containers are being OOM-killed, running slowly, or when setting initial resource limits for a deployment.
Build and deploy C/C++ applications — CMake, Meson, Ninja, and Dockerfile patterns. Use when deploying a C or C++ project, or when CMakeLists.txt or meson.build is detected.
Run database migrations safely during deployment — framework-specific commands, pre-deploy vs post-deploy timing, health gates, and rollback strategies. Use when the app has a database migration system and needs migrations run during deployment.
Build and deploy Deno applications — version detection, dependency caching, and Dockerfile patterns. Use when deploying a Deno project, or when deno.json or deno.jsonc is detected.
Sub-agent routing table — which agent handles diagnostics, machine health, infrastructure, GitHub, billing, and notifications. Load when the current task is not a direct deployment.