بنقرة واحدة
sync-mechanism
SSH-based site sync and proxy mechanism for SuperLandings Go
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
SSH-based site sync and proxy mechanism for SuperLandings Go
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Create sites with templates, assets, blog, admin panel — full mastery guide
Deploy SuperLandings Go to remote servers with hotify-cli and Traefik
Asset management, CLI output conventions, and template helpers for SuperLandings Go
hotify-cli integration for SuperLandings Go - DNS, Traefik, and reverse proxy configuration
| name | sync-mechanism |
| description | SSH-based site sync and proxy mechanism for SuperLandings Go |
SuperLandings Go includes SSH-based site synchronization and proxy configuration for deploying sites to remote servers.
sl-cli site export <SITE_SLUG> --output /tmp/export.json
Exports site metadata (sites, versions, files) to JSON for migration or backup.
sl-cli site import --input /tmp/import.json
Imports site metadata from JSON file. Creates site and versions if they don't exist.
sl-cli site sync <SITE_SLUG> --host <SERVER_IP> --user <USER> [--port <SSH_PORT>] [--key <SSH_KEY_PATH>]
Synchronizes a site to a remote server:
Example:
sl-cli site sync mysite --host <SERVER_IP> --user root --key ~/.ssh/id_rsa_srv
sl-cli site proxy <SITE_SLUG> --domain <DOMAIN> --internal-url <URL>
Configures hotify-cli reverse proxy for a site:
Example:
sl-cli site proxy mysite --domain example.com --internal-url http://127.0.0.1:<PORT>
Limitation: Currently requires manual Traefik configuration for path prefix middleware. See hotify-integration skill.
SyncTarget struct:
type SyncTarget struct {
Host string
User string
Port int
Key string // SSH key path
}
Sync workflow:
SSH key support:
-i <key> -o IdentitiesOnly=yes for rsync, scp, sshsite export:
--output (default: /tmp/site-export.json)site import:
--input (required)site sync:
--host (required), --user (default: root), --port (default: 22), --keysite proxy:
--domain (required), --internal-url (default: http://127.0.0.1:3099)Sync command rsync issues
Proxy command Traefik issues
Import requires site to exist
When automated sync fails:
# 1. Create site directory on remote
ssh -i <SSH_KEY> <USER>@<SERVER_IP> "mkdir -p /home/<USER>/.superlandings/sites/<SITE_SLUG>/<VERSION>"
# 2. Copy site files
scp -i <SSH_KEY> -r ~/.superlandings/sites/<SITE_SLUG>/* <USER>@<SERVER_IP>:/home/<USER>/.superlandings/sites/<SITE_SLUG>/
# 3. Create version on remote
ssh -i <SSH_KEY> <USER>@<SERVER_IP> "sl-cli site version create <SITE_SLUG> --version <VERSION> --comment 'Synced from local'"
# 4. Restart daemon
ssh -i <SSH_KEY> <USER>@<SERVER_IP> "pkill -f 'sl-cli backend' && sl-cli backend start --daemon --port <PORT>"
internal/
├── services/
│ └── sync.go # Sync service implementation
├── cli/
│ └── site_sync.go # CLI commands (export, import, sync, proxy)
└── db/
└── site_version_repository.go # Version repository (split from repository.go)
All files kept under 400 LOC per AGENTS.md rules: