← 返回 Skills 市场
kofna3369

Axiomata Web Deploy

作者 Kofna3369 · GitHub ↗ · v1.1.0 · MIT-0
cross-platform ⚠ suspicious
79
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install axiomata-web-deploy
功能描述
Deploy a public web presence (HTML + Docker + DNS + Domain) in ~15 minutes. Triggers on: 'deploy website', 'build and deploy', 'create web presence', 'launch...
使用说明 (SKILL.md)

Axiomata Web Deploy — 15-Minute Public Web Presence

What this skill does: Takes a directory with HTML files and deploys a live, publicly accessible website on a VPS using Docker + DNS + Domain — fully autonomous, no human intervention after launch.

Security first: No credentials are embedded in this skill. All secrets are read from local files or environment variables. Never ship tokens in skill code.

Transparency: This skill is for deploying websites only. It does not: exfiltrate data, access files outside the project directory, or perform any action beyond web deployment.

Required env vars: HOSTINGER_TOKEN, VPS_IP, DNS_ZONE_ID (or equivalents for your DNS provider)


Architecture Overview

+------------------------------------------------------+
|              15-MINUTE DEPLOYMENT PIPELINE           |
+------------------------------------------------------+
|  Phase 1 (2 min)  → Create HTML + Dockerfile        |
|  Phase 2 (2 min)  → Build Docker image              |
|  Phase 3 (3 min)  → Deploy to Docker                |
|  Phase 4 (3 min)  → Configure DNS + attach domain   |
|  Phase 5 (5 min)  → Verify everything works         |
+------------------------------------------------------+
  Total: ~15 min | DNS propagation: 5-48h

Prerequisites

  • VPS with Docker installed
  • Domain name registered (optional but recommended)
  • DNS provider API token (stored locally, NOT in skill)
  • Nginx or similar web server

Phase 1 — Project Setup (2 min)

mkdir -p /data/deployments/\x3Cproject-name>
cd /data/deployments/\x3Cproject-name>

index.html:

\x3C!DOCTYPE html>
\x3Chtml lang="en">
\x3Chead>
  \x3Cmeta charset="UTF-8">
  \x3Cmeta name="viewport" content="width=device-width, initial-scale=1.0">
  \x3Ctitle>My Site\x3C/title>
\x3C/head>
\x3Cbody>
  \x3Ch1>[ROCKET] Deployed with Axiomata Web Deploy\x3C/h1>
  \x3Cp>Live in 15 minutes.\x3C/p>
\x3C/body>
\x3C/html>

nginx.dockerfile:

FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Phase 2 — Build Docker (2 min)

docker build -f nginx.dockerfile -t \x3Cproject-name>:latest .

Phase 3 — Deploy Container (3 min)

# Stop existing container (ignore errors)
docker stop \x3Cproject-name> 2>/dev/null || true
docker rm \x3Cproject-name> 2>/dev/null || true

# Run as daemon
docker run -d \
  --name \x3Cproject-name> \
  -p 80:80 \
  --restart unless-stopped \
  \x3Cproject-name>:latest

# Verify
docker ps | grep \x3Cproject-name>
curl -s http://localhost/ | head -20

Port mapping:

  • Default: 80:80 (HTTP)
  • Multiple sites: different local ports (8080:80, 3000:80)
  • Open ports in VPS firewall

Phase 4 — DNS + Domain (3 min)

Get Your VPS Public IP

curl -s ifconfig.me

DNS Setup (Example: Hostinger API)

Credentials stored locally — never in skill.

Your credentials file (replace with your actual path):

# Example: ~/.credentials/host_vps.md
# Format:
# Token: YOUR_TOKEN_HERE
# IP: YOUR_VPS_IP

HOSTINGER_TOKEN=$(grep '^Token:' "$HOME/.credentials/host_vps.md" | awk '{print $2}')
VPS_IP=$(grep '^IP:' "$HOME/.credentials/host_vps.md" | awk '{print $2}')

Required environment variables (declare these before running):

Variable Description Example
HOSTINGER_TOKEN Hostinger API token hKsW...
VPS_IP Your VPS public IP 31.97.150.235
DNS_ZONE_ID Your DNS zone ID abc123

Create DNS records:

# Get your DNS zones
curl -s -X GET "https://api.hostinger.com/api/vps/v1/dns/zones" \
  -H "Authorization: Bearer $HOSTINGER_TOKEN"

# Create root A record
curl -s -X POST "https://api.hostinger.com/api/vps/v1/dns/zones/\x3Czone-id>/records" \
  -H "Authorization: Bearer $HOSTINGER_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"type\": \"A\", \"name\": \"@\", \"value\": \"$VPS_IP\", \"ttl\": 300}"

# Create www subdomain
curl -s -X POST "https://api.hostinger.com/api/vps/v1/dns/zones/\x3Czone-id>/records" \
  -H "Authorization: Bearer $HOSTINGER_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"type\": \"A\", \"name\": \"www\", \"value\": \"$VPS_IP\", \"ttl\": 300}"

For Cloudflare, Namecheap, Route53: Use their API with the same pattern — store credentials locally, reference them at runtime.


Phase 5 — Verify (5 min)

# 1. Container running?
docker ps | grep \x3Cproject-name>

# 2. Local response?
curl -s --max-time 5 http://localhost/ | grep -o "\x3Ctitle>.*\x3C/title>"

# 3. Container logs clean?
docker logs \x3Cproject-name> --tail 20

# 4. DNS resolved?
dig +short \x3Cdomain> @8.8.8.8

# 5. External access (with Host header)
curl -s --max-time 10 -H "Host: \x3Cdomain>" http://\x3CVPS_IP>/

Boilerplate Template

Copy from assets/web-boilerplate/:

  • index.html — Clean landing page
  • nginx.dockerfile — Nginx container

Customize and deploy.


Cleanup Old Deployments

# List all
docker ps -a --format "table {{.Names}}	{{.Status}}	{{.Ports}}"

# Remove
docker stop \x3Cold-project> && docker rm \x3Cold-project>
docker rmi \x3Cold-project>:latest
rm -rf /data/deployments/\x3Cold-project>

HTTPS (Optional, +5 min)

apt install certbot python3-certbot-nginx
certbot --nginx -d \x3Cdomain> -d www.\x3Cdomain>

Success Checklist

  • Container running: docker ps | grep \x3Cproject-name>
  • Local test: curl http://localhost/ returns HTML
  • DNS resolved: dig +short \x3Cdomain> shows VPS IP
  • Public access: External request returns content
  • (Optional) HTTPS: SSL certificate active

Security Rules (Critical)

[WARNING] Never embed credentials in skill code or documentation.

  • API tokens → read from local files only
  • Passwords → never in source or docs
  • Before publishing anywhere: grep all files for tokens, keys, secrets

The skill teaches the process, not carries the keys.


In Altum Per Axioma. Merlin

安全使用建议
This skill can perform legitimate website deployment tasks, but there are transparency and scope problems you should address before using it: - Do not trust the registry metadata alone: SKILL.md requires HOSTINGER_TOKEN, VPS_IP, and DNS_ZONE_ID even though metadata lists none. Expect to provide API tokens — only supply them from secure locations. - Inspect SKILL.md for hidden characters (control/unicode) and remove them; the scan found potential prompt-injection artifacts. - Review the exact shell commands and file paths. The skill reads ~/.credentials/host_vps.md and writes under /data/deployments and may delete old deployments; run it in an isolated VM/container and avoid running as root on important hosts. - Confirm DNS provider API endpoints (Hostinger, Cloudflare, Route53) are the ones you intend to use, and limit the token scopes to DNS record edits only. - If you want to proceed, test on a disposable VPS and domain first. If you cannot audit or sanitize the SKILL.md yourself, consider declining installation.
能力评估
Purpose & Capability
The stated purpose (deploy a website) aligns with the actions (build Docker image, run container, set DNS records). However the skill metadata claims no required env vars or credentials while the SKILL.md explicitly requires HOSTINGER_TOKEN, VPS_IP, DNS_ZONE_ID and reads a local credentials file. The metadata/instruction mismatch is a red flag for transparency or sloppy packaging.
Instruction Scope
The SKILL.md instructs the agent to read credentials from $HOME/.credentials/host_vps.md, create and remove directories under /data/deployments, run docker build/run/stop/rmi, curl external endpoints (ifconfig.me and provider APIs), and install certbot. These actions go beyond a simple locally-contained operation and contradict the skill's claim that it 'does not access files outside the project directory.'
Install Mechanism
This is an instruction-only skill with no install spec or code executed from a downloaded archive. That lowers installation-time risk because nothing is written to disk by the registry installer itself. Risks arise from the runtime shell commands the instructions tell an agent to run.
Credentials
The skill requests access to sensitive credentials (DNS/provider API token, VPS IP) which are appropriate for DNS and deployment tasks, but these are not declared in the registry metadata. The SKILL.md also suggests reading a local credentials file; asking for tokens is proportionate to the job, but the omission from metadata and the loose guidance on where tokens are stored (plain files) reduce transparency and increase risk of accidental exposure.
Persistence & Privilege
The skill is not marked always:true and is user-invocable (normal). It modifies filesystem state (creates /data/deployments, removes old deployments) and can install packages at runtime (certbot), which requires elevated privileges on the host. That behavior is plausible for a deploy tool but requires the user to run it in a controlled environment with appropriate permissions.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install axiomata-web-deploy
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /axiomata-web-deploy 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.0
v1.1.0: Cleaned unicode/box-drawing chars, added explicit env vars table, added transparency statement, fixed credential path ambiguity
v1.0.0
Initial release: 15-minute web deployment pipeline with Docker + DNS + Domain. Security-first design — no credentials embedded.
元数据
Slug axiomata-web-deploy
版本 1.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Axiomata Web Deploy 是什么?

Deploy a public web presence (HTML + Docker + DNS + Domain) in ~15 minutes. Triggers on: 'deploy website', 'build and deploy', 'create web presence', 'launch... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 79 次。

如何安装 Axiomata Web Deploy?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install axiomata-web-deploy」即可一键安装,无需额外配置。

Axiomata Web Deploy 是免费的吗?

是的,Axiomata Web Deploy 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Axiomata Web Deploy 支持哪些平台?

Axiomata Web Deploy 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Axiomata Web Deploy?

由 Kofna3369(@kofna3369)开发并维护,当前版本 v1.1.0。

💬 留言讨论