Static Deploy
DevOps & Securitystatic-deployStatic Deploy is an Agent Skill for devops & security published in the nixopus/nixopus repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Deploy static file sites — Caddy/nginx serving, Staticfile config, and Dockerfile patterns. Use when deploying a static HTML site with no server-side runtime, or when index.html or a Staticfile is detected at the project root.
QUICK START
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/nixopus/nixopus/blob/HEAD/api/skills/static-deploy/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/static-deploy, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
Static Files Deployment
Detection
Project is static if:
index.htmlexists in the root- Or
Staticfileexists at the project root (explicit configuration)
Configuration
Root Directory
Staticfilecontents:root: <dir>- 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
FROM nginx:alpine
COPY . /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Caddy
FROM caddy:alpine
COPY . /srv
EXPOSE 80
CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile"]
With custom Caddyfile
FROM caddy:alpine
COPY Caddyfile /etc/caddy/Caddyfile
COPY dist /srv
EXPOSE 80
CMD ["caddy", "run", "--config", "/etc/caddy/Caddyfile"]