跳到正文
cccskills
免费在 GitHub 公开

fusionaly-deploy

Use ONLY when explicitly invoked. Puts Fusionaly on a Linux server you reach over SSH with a key. Optionally creates a Hetzner server and the Cloudflare DNS record. The user runs the one interactive install command; the agent prepares and checks everything around it.

中文简介正在准备中。当前显示原文说明。

集成工具Cloudflare
查看安装方法

包含的文件(1)

  • SKILL.md4.5 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Deploy Fusionaly

Four steps: a server, a DNS record, one install command, a check. The agent does the setup and the checks. The user runs the install command in their own terminal, because the installer is interactive and needs a real terminal.

Rules

  • SSH keys only. Never ask for, type, or store a password. If the server takes only passwords, stop and help the user add a key (ssh-copy-id).
  • Ask before anything that costs money or changes DNS. Show the exact command first.
  • Never disable host key checks. Use -o StrictHostKeyChecking=accept-new for a new server.
  • No "analytics" in the hostname. Blockers drop hostnames with analytics, tracking, stats or telemetry. Suggest data.example.com or a brand name.
  • Tokens stay in the user's shell. Ask the user to export them. Do not paste them into files.

1. Server

Ask: "Do you have a Linux server you can SSH into with a key?" This is the default path.

Existing server. Ask for the IP and the SSH user, then check:

ssh -o BatchMode=yes -o ConnectTimeout=5 <user>@<ip> 'uname -s && (test "$(id -u)" = 0 || sudo -n true) && echo ready'

ready means SSH works and the user has root or passwordless sudo. Anything else: stop and fix that first.

New Hetzner server (optional). Needs the hcloud CLI and a read/write API token from the Hetzner console (Security > API Tokens).

hcloud context create fusionaly            # paste the token when it asks
hcloud server-type list -o columns=name,cores,memory,disk   # pick the smallest shared type
hcloud ssh-key list                         # or: hcloud ssh-key create --name me --public-key-from-file ~/.ssh/id_ed25519.pub

Show the plan and ask before creating it (it is billable):

hcloud server create --name fusionaly --type <type> --image ubuntu-24.04 --location <location> --ssh-key <key>
hcloud server ip fusionaly
ssh -o StrictHostKeyChecking=accept-new -o ConnectTimeout=5 root@<ip> 'echo ready'   # retry for ~60s while it boots

Fusionaly needs 1 vCPU, 512 MB RAM, 10 GB disk.

2. DNS

Ask for the domain. Then create an A record: <domain> → <ip>.

Cloudflare (optional). Ask the user to create a token with the "Edit zone DNS" template and export CF_API_TOKEN=... in their shell. Ask before creating the record:

zone=$(curl -s -H "Authorization: Bearer $CF_API_TOKEN" \
  "https://api.cloudflare.com/client/v4/zones?name=<apex-domain>" | jq -r '.result[0].id')
curl -s -X POST -H "Authorization: Bearer $CF_API_TOKEN" -H "Content-Type: application/json" \
  "https://api.cloudflare.com/client/v4/zones/$zone/dns_records" \
  -d '{"type":"A","name":"<domain>","content":"<ip>","proxied":false,"ttl":300}' | jq '.success'

Keep proxied false until the certificate exists.

Any other DNS provider: tell the user the exact record to add.

Then wait until the record resolves. The certificate cannot be issued before that:

dig +short <domain> @1.1.1.1     # repeat until it prints <ip>

3. Install (the user runs this)

Tell the user to run this in their own terminal:

ssh -t <user>@<ip> 'curl -fsSL https://fusionaly.com/install | sudo bash -s <domain>'

It installs Chasen (and Docker, when the server has none) and runs Fusionaly with HTTPS, live backups of the database, and an update each night. Wait until the user says it finished, then tell them to open https://<domain> and create the first account at once.

4. Check

curl -s -o /dev/null -w "%{http_code}\n" https://<domain>/up    # 200

Then the user opens https://<domain>/setup to create the admin account and add the first website.

Done: tell the user

  • Dashboard: https://<domain>/admin. Add the tracking script shown in the website settings.
  • Updates and backups run every night. Keep a copy off the server too (VPS snapshots or rsync).
  • Harden a new server: server-hardener. Run it yourself: ssh -t <user>@<ip> 'curl -fsSL https://raw.githubusercontent.com/karloscodes/server-hardener/main/harden.sh -o /tmp/harden.sh && sudo bash /tmp/harden.sh'. If you pick Tailscale, SSH works only over Tailscale afterwards: connect this machine to your tailnet first.
  • Ask your analytics from your AI client: https://fusionaly.com/agents/

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

connect

免费

Use when the user wants to connect, set up, or configure Fusionaly in their AI client, or when the fusionaly MCP tools are missing. Verifies the Fusionaly URL and agent key, then adds the MCP server to Claude Code, Codex, Cursor, Gemini CLI, or another client.

中文简介正在准备中。当前显示原文说明。

karloscodes/fusionaly-oss152026年10月23日 更新

fusionaly

免费

Use when user asks about website analytics, traffic, visitors, page views, referrers, or mentions "fusionaly". Queries Fusionaly analytics via SQL API.

中文简介正在准备中。当前显示原文说明。

karloscodes/fusionaly-oss152026年10月23日 更新

fusionaly

免费

Use when the user asks about website analytics, traffic, visitors, page views, referrers, conversions, goals, or mentions "fusionaly". Answers from a self-hosted Fusionaly instance through its MCP tools (or its SQL API), in plain English with numbers.

中文简介正在准备中。当前显示原文说明。

karloscodes/fusionaly-oss152026年10月23日 更新

qa

免费

Use after code changes, before releases, or when testing features - runs the right level of QA based on what changed

中文简介正在准备中。当前显示原文说明。

karloscodes/fusionaly-oss152026年10月23日 更新

tech

免费

Use when writing or reviewing Go code in fusionaly-oss — adding routes, handlers, domain contexts, background jobs, the manager CLI, wiring the app, or writing tests. Covers the cartridge framework, matcha for the manager, Phoenix Contexts, lifecycle/shutdown, and the test conventions.

中文简介正在准备中。当前显示原文说明。

karloscodes/fusionaly-oss152026年10月23日 更新

查看 karloscodes 的全部技能

报告此技能的问题