AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Ops Tmux Remote Deploy

skill-frontier-ai-next-mgarlbot-ops-tmux-remote-deploy · by frontier-ai-next

Run remote deploy via SSH using tmux sessions (frps + app), with idempotent restart and health checks

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-frontier-ai-next-mgarlbot-ops-tmux-remote-deploy

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-frontier-ai-next-mgarlbot-ops-tmux-remote-deploy)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Ops Tmux Remote Deploy? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Remote deploy via tmux (single VPS baseline)

Use this skill when the user wants: "deploy on that server", "run frps and project in tmux", "keep processes alive after disconnect".

Always run commands on VPS via SSH wrapper:

ssh -F /data/.ssh/config vps 'REMOTE_COMMAND_HERE'

Never run host-level commands locally when the task is explicitly remote.

Goal

Create and maintain two tmux sessions on the VPS:

  • frps — FRP server process.
  • project_app — project runtime process (docker compose or native command).

Both sessions must be idempotent and verifiable.

Standard sequence

  1. Preflight
  • Verify SSH connectivity.
  • Check core tools: tmux, curl, ss (or netstat fallback).
  • Install tmux if missing (non-interactive apt for Debian/Ubuntu).
  1. Prepare frps
  • Ensure frps binary + config path are known (ask only if impossible to infer).
  • Restart frps session safely:
  • tmux has-session -t frps -> kill if exists.
  • start detached with explicit command and logs.
  1. Prepare app runtime
  • If repo has compose files and user asked containerized deploy: use docker compose up in project_app.
  • Otherwise start provided app command in project_app.
  • Same idempotent session restart pattern as frps.
  1. Health checks (mandatory)
  • tmux ls contains both sessions.
  • Process check (pgrep -af frps, app process or docker compose ps).
  • Port check with ss -ltnp for expected bind ports.
  • HTTP check with curl -fsS (or status code check) for app endpoint.
  1. Operational output
  • Report only operational facts: session names, process status, listening ports, endpoint status.
  • Provide follow-up commands for logs:
  • tmux capture-pane -pt frps -S -120
  • tmux capture-pane -pt project_app -S -120

Canonical command snippets

SSH preflight:

ssh -F /data/.ssh/config vps 'set -e; uname -a; command -v tmux >/dev/null || echo "__NO_TMUX__"'

Install tmux if required:

ssh -F /data/.ssh/config vps 'set -e; if ! command -v tmux >/dev/null; then DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y tmux; fi'

Restart frps session:

ssh -F /data/.ssh/config vps 'set -e; tmux has-session -t frps 2>/dev/null && tmux kill-session -t frps || true; tmux new-session -d -s frps "cd /opt/frp && ./frps -c /opt/frp/frps.toml"'

Restart app session (compose variant):

ssh -F /data/.ssh/config vps 'set -e; tmux has-session -t project_app 2>/dev/null && tmux kill-session -t project_app || true; tmux new-session -d -s project_app "cd /srv/myapp && docker compose up --build"'

Health checks:

ssh -F /data/.ssh/config vps 'set -e; tmux ls; pgrep -af frps || true; ss -ltnp | sed -n "1,120p"; curl -sS -o /dev/null -w "%{http_code}\n" http://127.0.0.1:8080/'

Rules

  • Do not claim success until all mandatory checks pass.
  • If checks fail, inspect tmux panes and fix one issue per iteration.
  • Do not dump .env, private keys, or full secret-bearing configs in chat.
  • Avoid destructive global actions; only touch sessions/processes related to this deploy.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.