[{"data":1,"prerenderedAt":2018},["ShallowReactive",2],{"navigation_docs":3,"-cli-installation":204,"-cli-installation-surround":2013},[4,40,69,82,91,116,129,146,167],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15,20,25,30,35],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start","i-lucide-rocket",{"title":26,"path":27,"stem":28,"icon":29},"Project Structure","\u002Fgetting-started\u002Fproject-structure","1.getting-started\u002F4.project-structure","i-lucide-folder-tree",{"title":31,"path":32,"stem":33,"icon":34},"First Deployment","\u002Fgetting-started\u002Ffirst-deployment","1.getting-started\u002F5.first-deployment","i-lucide-upload-cloud",{"title":36,"path":37,"stem":38,"icon":39},"Troubleshooting","\u002Fgetting-started\u002Ftroubleshooting","1.getting-started\u002F6.troubleshooting","i-lucide-wrench",{"title":41,"children":42,"path":67,"stem":68,"page":6},"Platform",[43,47,51,55,59,63],{"title":44,"path":45,"stem":46},"Dashboard","\u002Fplatform\u002Fdashboard","2.platform\u002F1.dashboard",{"title":48,"path":49,"stem":50},"Marketplace","\u002Fplatform\u002Fmarketplace","2.platform\u002F2.marketplace",{"title":52,"path":53,"stem":54},"Monitoring & Metrics","\u002Fplatform\u002Fmonitoring","2.platform\u002F3.monitoring",{"title":56,"path":57,"stem":58},"Projects","\u002Fplatform\u002Fprojects","2.platform\u002F4.projects",{"title":60,"path":61,"stem":62},"Services","\u002Fplatform\u002Fservices","2.platform\u002F5.services",{"title":64,"path":65,"stem":66},"Logs","\u002Fplatform\u002Flogs","2.platform\u002F6.logs","\u002Fplatform","2.platform",{"title":70,"children":71,"path":80,"stem":81,"page":6},"CLI",[72,76],{"title":73,"path":74,"stem":75},"CLI Installation","\u002Fcli\u002Finstallation","3.cli\u002F1.installation",{"title":77,"path":78,"stem":79},"Commands Reference","\u002Fcli\u002Fcommands","3.cli\u002F2.commands","\u002Fcli","3.cli",{"title":83,"children":84,"path":89,"stem":90,"page":6},"TUI",[85],{"title":86,"path":87,"stem":88},"TUI Overview","\u002Ftui\u002Foverview","4.tui\u002F1.overview","\u002Ftui","4.tui",{"title":92,"children":93,"path":114,"stem":115,"page":6},"Docker",[94,98,102,106,110],{"title":95,"path":96,"stem":97},"Docker Containers","\u002Fdocker\u002Fcontainers","5.docker\u002F1.containers",{"title":99,"path":100,"stem":101},"Docker Images","\u002Fdocker\u002Fimages","5.docker\u002F2.images",{"title":103,"path":104,"stem":105},"Docker Compose","\u002Fdocker\u002Fcompose","5.docker\u002F3.compose",{"title":107,"path":108,"stem":109},"Docker Volumes","\u002Fdocker\u002Fvolumes","5.docker\u002F4.volumes",{"title":111,"path":112,"stem":113},"Docker Networks","\u002Fdocker\u002Fnetworks","5.docker\u002F5.networks","\u002Fdocker","5.docker",{"title":117,"children":118,"path":127,"stem":128,"page":6},"PM2",[119,123],{"title":120,"path":121,"stem":122},"Process Management","\u002Fpm2\u002Fprocess-management","6.pm2\u002F1.process-management",{"title":124,"path":125,"stem":126},"Zero-Downtime Deployments","\u002Fpm2\u002Fzero-downtime","6.pm2\u002F2.zero-downtime","\u002Fpm2","6.pm2",{"title":130,"children":131,"path":144,"stem":145,"page":6},"VPS",[132,136,140],{"title":133,"path":134,"stem":135},"VPS Management","\u002Fvps\u002Fssh-management","7.vps\u002F1.ssh-management",{"title":137,"path":138,"stem":139},"SSH Access","\u002Fvps\u002Fssh","7.vps\u002F2.ssh",{"title":141,"path":142,"stem":143},"Firewall","\u002Fvps\u002Ffirewall","7.vps\u002F3.firewall","\u002Fvps","7.vps",{"title":147,"children":148,"path":165,"stem":166,"page":6},"Deployment",[149,153,157,161],{"title":150,"path":151,"stem":152},"Production Setup","\u002Fdeployment\u002Fproduction-setup","8.deployment\u002F1.production-setup",{"title":154,"path":155,"stem":156},"Scaling","\u002Fdeployment\u002Fscaling","8.deployment\u002F2.scaling",{"title":158,"path":159,"stem":160},"GitHub Actions CI\u002FCD","\u002Fdeployment\u002Fgithub-actions","8.deployment\u002F3.github-actions",{"title":162,"path":163,"stem":164},"Security","\u002Fdeployment\u002Fsecurity","8.deployment\u002F4.security","\u002Fdeployment","8.deployment",{"title":168,"children":169,"path":202,"stem":203,"page":6},"Reference",[170,174,178,182,186,190,194,198],{"title":171,"path":172,"stem":173},"Architecture","\u002Freference\u002Farchitecture","9.reference\u002F1.architecture",{"title":175,"path":176,"stem":177},"CLI Reference","\u002Freference\u002Fcli-reference","9.reference\u002F2.cli-reference",{"title":179,"path":180,"stem":181},"Environment Variables","\u002Freference\u002Fenvironment-variables","9.reference\u002F3.environment-variables",{"title":183,"path":184,"stem":185},"API Reference","\u002Freference\u002Fapi-reference","9.reference\u002F4.api-reference",{"title":187,"path":188,"stem":189},"Webhooks","\u002Freference\u002Fwebhooks","9.reference\u002F5.webhooks",{"title":191,"path":192,"stem":193},"Authentication","\u002Freference\u002Fauthentication","9.reference\u002F6.authentication",{"title":195,"path":196,"stem":197},"Configuration","\u002Freference\u002Fconfiguration","9.reference\u002F7.configuration",{"title":199,"path":200,"stem":201},"API Overview","\u002Freference\u002Fapi","9.reference\u002F8.api","\u002Freference","9.reference",{"id":205,"title":73,"body":206,"description":2007,"extension":2008,"links":2009,"meta":2010,"navigation":302,"path":74,"seo":2011,"stem":75,"__hash__":2012},"docs\u002F3.cli\u002F1.installation.md",{"type":207,"value":208,"toc":1970},"minimark",[209,214,218,222,225,248,251,254,259,262,266,269,316,320,323,385,388,395,403,407,413,581,585,589,619,623,740,744,748,823,827,901,905,990,994,1087,1091,1094,1145,1148,1179,1183,1186,1189,1240,1244,1292,1296,1312,1316,1320,1503,1507,1694,1698,1862,1865,1869,1872,1892,1896,1899,1923,1927,1930,1949,1952,1966],[210,211,213],"h1",{"id":212},"skyport-cli-installation","SkyPort CLI Installation",[215,216,217],"p",{},"The SkyPort CLI is the primary interface for managing your infrastructure. It's a lightweight, single binary that can be used for automation, scripting, and day-to-day operations.",[219,220,16],"h2",{"id":221},"installation",[215,223,224],{},"SkyPort CLI is included with the main SkyPort installation. To verify it's installed:",[226,227,232],"pre",{"className":228,"code":229,"language":230,"meta":231,"style":231},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","skyport --version\n","bash","",[233,234,235],"code",{"__ignoreMap":231},[236,237,240,244],"span",{"class":238,"line":239},"line",1,[236,241,243],{"class":242},"sBMFI","skyport",[236,245,247],{"class":246},"sfazB"," --version\n",[219,249,191],{"id":250},"authentication",[215,252,253],{},"Before using the CLI against a remote SkyPort instance, you need to authenticate.",[255,256,258],"h3",{"id":257},"local-authentication","Local Authentication",[215,260,261],{},"When connecting to a SkyPort server on your local machine, authentication is automatic.",[255,263,265],{"id":264},"remote-authentication","Remote Authentication",[215,267,268],{},"For remote servers:",[226,270,272],{"className":228,"code":271,"language":230,"meta":231,"style":231},"# Login to a remote SkyPort instance\nskyport auth login --server https:\u002F\u002Fskyport.example.com\n\n# You'll be prompted for credentials\n# This saves credentials securely to ~\u002F.skyport\u002Fconfig.yaml\n",[233,273,274,280,297,304,310],{"__ignoreMap":231},[236,275,276],{"class":238,"line":239},[236,277,279],{"class":278},"sHwdD","# Login to a remote SkyPort instance\n",[236,281,283,285,288,291,294],{"class":238,"line":282},2,[236,284,243],{"class":242},[236,286,287],{"class":246}," auth",[236,289,290],{"class":246}," login",[236,292,293],{"class":246}," --server",[236,295,296],{"class":246}," https:\u002F\u002Fskyport.example.com\n",[236,298,300],{"class":238,"line":299},3,[236,301,303],{"emptyLinePlaceholder":302},true,"\n",[236,305,307],{"class":238,"line":306},4,[236,308,309],{"class":278},"# You'll be prompted for credentials\n",[236,311,313],{"class":238,"line":312},5,[236,314,315],{"class":278},"# This saves credentials securely to ~\u002F.skyport\u002Fconfig.yaml\n",[255,317,319],{"id":318},"using-api-tokens","Using API Tokens",[215,321,322],{},"For automated scripts and CI\u002FCD:",[226,324,326],{"className":228,"code":325,"language":230,"meta":231,"style":231},"# Export token as environment variable\nexport SKYPORT_TOKEN=\"your-api-token\"\n\n# Or use in commands\nskyport --token \"your-api-token\" docker ps\n",[233,327,328,333,356,360,365],{"__ignoreMap":231},[236,329,330],{"class":238,"line":239},[236,331,332],{"class":278},"# Export token as environment variable\n",[236,334,335,339,343,347,350,353],{"class":238,"line":282},[236,336,338],{"class":337},"spNyl","export",[236,340,342],{"class":341},"sTEyZ"," SKYPORT_TOKEN",[236,344,346],{"class":345},"sMK4o","=",[236,348,349],{"class":345},"\"",[236,351,352],{"class":246},"your-api-token",[236,354,355],{"class":345},"\"\n",[236,357,358],{"class":238,"line":299},[236,359,303],{"emptyLinePlaceholder":302},[236,361,362],{"class":238,"line":306},[236,363,364],{"class":278},"# Or use in commands\n",[236,366,367,369,372,375,377,379,382],{"class":238,"line":312},[236,368,243],{"class":242},[236,370,371],{"class":246}," --token",[236,373,374],{"class":345}," \"",[236,376,352],{"class":246},[236,378,349],{"class":345},[236,380,381],{"class":246}," docker",[236,383,384],{"class":246}," ps\n",[219,386,195],{"id":387},"configuration",[215,389,390,391,394],{},"SkyPort CLI stores configuration in ",[233,392,393],{},"~\u002F.skyport\u002F",":",[226,396,401],{"className":397,"code":399,"language":400},[398],"language-text","~\u002F.skyport\u002F\n├── config.yaml          # Main configuration\n├── tokens.json          # Saved authentication tokens\n├── logs\u002F                # Application logs\n├── cache\u002F               # Cached data\n└── workspace\u002F           # Workspace configuration\n","text",[233,402,399],{"__ignoreMap":231},[255,404,406],{"id":405},"configuration-file","Configuration File",[215,408,409,410,394],{},"Example ",[233,411,412],{},"~\u002F.skyport\u002Fconfig.yaml",[226,414,418],{"className":415,"code":416,"language":417,"meta":231,"style":231},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","servers:\n  - name: \"production\"\n    url: \"https:\u002F\u002Fskyport.prod.example.com\"\n    token: \"sk_token_xxx\"\n    default: true\n  - name: \"staging\"\n    url: \"https:\u002F\u002Fskyport.staging.example.com\"\n    token: \"sk_token_yyy\"\n\npreferences:\n  output_format: \"table\"  # or json, yaml\n  color: true\n  verbose: false\n","yaml",[233,419,420,429,446,460,474,485,501,515,529,534,542,560,570],{"__ignoreMap":231},[236,421,422,426],{"class":238,"line":239},[236,423,425],{"class":424},"swJcz","servers",[236,427,428],{"class":345},":\n",[236,430,431,434,437,439,441,444],{"class":238,"line":282},[236,432,433],{"class":345},"  -",[236,435,436],{"class":424}," name",[236,438,394],{"class":345},[236,440,374],{"class":345},[236,442,443],{"class":246},"production",[236,445,355],{"class":345},[236,447,448,451,453,455,458],{"class":238,"line":299},[236,449,450],{"class":424},"    url",[236,452,394],{"class":345},[236,454,374],{"class":345},[236,456,457],{"class":246},"https:\u002F\u002Fskyport.prod.example.com",[236,459,355],{"class":345},[236,461,462,465,467,469,472],{"class":238,"line":306},[236,463,464],{"class":424},"    token",[236,466,394],{"class":345},[236,468,374],{"class":345},[236,470,471],{"class":246},"sk_token_xxx",[236,473,355],{"class":345},[236,475,476,479,481],{"class":238,"line":312},[236,477,478],{"class":424},"    default",[236,480,394],{"class":345},[236,482,484],{"class":483},"sfNiH"," true\n",[236,486,488,490,492,494,496,499],{"class":238,"line":487},6,[236,489,433],{"class":345},[236,491,436],{"class":424},[236,493,394],{"class":345},[236,495,374],{"class":345},[236,497,498],{"class":246},"staging",[236,500,355],{"class":345},[236,502,504,506,508,510,513],{"class":238,"line":503},7,[236,505,450],{"class":424},[236,507,394],{"class":345},[236,509,374],{"class":345},[236,511,512],{"class":246},"https:\u002F\u002Fskyport.staging.example.com",[236,514,355],{"class":345},[236,516,518,520,522,524,527],{"class":238,"line":517},8,[236,519,464],{"class":424},[236,521,394],{"class":345},[236,523,374],{"class":345},[236,525,526],{"class":246},"sk_token_yyy",[236,528,355],{"class":345},[236,530,532],{"class":238,"line":531},9,[236,533,303],{"emptyLinePlaceholder":302},[236,535,537,540],{"class":238,"line":536},10,[236,538,539],{"class":424},"preferences",[236,541,428],{"class":345},[236,543,545,548,550,552,555,557],{"class":238,"line":544},11,[236,546,547],{"class":424},"  output_format",[236,549,394],{"class":345},[236,551,374],{"class":345},[236,553,554],{"class":246},"table",[236,556,349],{"class":345},[236,558,559],{"class":278},"  # or json, yaml\n",[236,561,563,566,568],{"class":238,"line":562},12,[236,564,565],{"class":424},"  color",[236,567,394],{"class":345},[236,569,484],{"class":483},[236,571,573,576,578],{"class":238,"line":572},13,[236,574,575],{"class":424},"  verbose",[236,577,394],{"class":345},[236,579,580],{"class":483}," false\n",[219,582,584],{"id":583},"usage","Usage",[255,586,588],{"id":587},"basic-syntax","Basic Syntax",[226,590,592],{"className":228,"code":591,"language":230,"meta":231,"style":231},"skyport [command] [subcommand] [options]\n",[233,593,594],{"__ignoreMap":231},[236,595,596,598,601,604,607,610,613,616],{"class":238,"line":239},[236,597,243],{"class":242},[236,599,600],{"class":341}," [command] ",[236,602,603],{"class":345},"[",[236,605,606],{"class":341},"subcommand",[236,608,609],{"class":345},"]",[236,611,612],{"class":345}," [",[236,614,615],{"class":341},"options",[236,617,618],{"class":345},"]\n",[255,620,622],{"id":621},"global-options","Global Options",[226,624,626],{"className":228,"code":625,"language":230,"meta":231,"style":231},"# Set verbosity\nskyport -v docker ps          # verbose\nskyport -vv docker ps         # very verbose\n\n# Change output format\nskyport --format json docker ps\nskyport --format yaml docker ps\n\n# Use specific server\nskyport --server production docker ps\n\n# Disable color output\nskyport --no-color docker ps\n",[233,627,628,633,648,662,666,671,685,698,702,707,720,724,729],{"__ignoreMap":231},[236,629,630],{"class":238,"line":239},[236,631,632],{"class":278},"# Set verbosity\n",[236,634,635,637,640,642,645],{"class":238,"line":282},[236,636,243],{"class":242},[236,638,639],{"class":246}," -v",[236,641,381],{"class":246},[236,643,644],{"class":246}," ps",[236,646,647],{"class":278},"          # verbose\n",[236,649,650,652,655,657,659],{"class":238,"line":299},[236,651,243],{"class":242},[236,653,654],{"class":246}," -vv",[236,656,381],{"class":246},[236,658,644],{"class":246},[236,660,661],{"class":278},"         # very verbose\n",[236,663,664],{"class":238,"line":306},[236,665,303],{"emptyLinePlaceholder":302},[236,667,668],{"class":238,"line":312},[236,669,670],{"class":278},"# Change output format\n",[236,672,673,675,678,681,683],{"class":238,"line":487},[236,674,243],{"class":242},[236,676,677],{"class":246}," --format",[236,679,680],{"class":246}," json",[236,682,381],{"class":246},[236,684,384],{"class":246},[236,686,687,689,691,694,696],{"class":238,"line":503},[236,688,243],{"class":242},[236,690,677],{"class":246},[236,692,693],{"class":246}," yaml",[236,695,381],{"class":246},[236,697,384],{"class":246},[236,699,700],{"class":238,"line":517},[236,701,303],{"emptyLinePlaceholder":302},[236,703,704],{"class":238,"line":531},[236,705,706],{"class":278},"# Use specific server\n",[236,708,709,711,713,716,718],{"class":238,"line":536},[236,710,243],{"class":242},[236,712,293],{"class":246},[236,714,715],{"class":246}," production",[236,717,381],{"class":246},[236,719,384],{"class":246},[236,721,722],{"class":238,"line":544},[236,723,303],{"emptyLinePlaceholder":302},[236,725,726],{"class":238,"line":562},[236,727,728],{"class":278},"# Disable color output\n",[236,730,731,733,736,738],{"class":238,"line":572},[236,732,243],{"class":242},[236,734,735],{"class":246}," --no-color",[236,737,381],{"class":246},[236,739,384],{"class":246},[219,741,743],{"id":742},"common-commands","Common Commands",[255,745,747],{"id":746},"help-system","Help System",[226,749,751],{"className":228,"code":750,"language":230,"meta":231,"style":231},"# View all commands\nskyport help\n\n# Get help for a command\nskyport docker help\n\n# Get help for a subcommand\nskyport docker ps help\n\n# Search for commands\nskyport help search keyword\n",[233,752,753,758,765,769,774,782,786,791,801,805,810],{"__ignoreMap":231},[236,754,755],{"class":238,"line":239},[236,756,757],{"class":278},"# View all commands\n",[236,759,760,762],{"class":238,"line":282},[236,761,243],{"class":242},[236,763,764],{"class":246}," help\n",[236,766,767],{"class":238,"line":299},[236,768,303],{"emptyLinePlaceholder":302},[236,770,771],{"class":238,"line":306},[236,772,773],{"class":278},"# Get help for a command\n",[236,775,776,778,780],{"class":238,"line":312},[236,777,243],{"class":242},[236,779,381],{"class":246},[236,781,764],{"class":246},[236,783,784],{"class":238,"line":487},[236,785,303],{"emptyLinePlaceholder":302},[236,787,788],{"class":238,"line":503},[236,789,790],{"class":278},"# Get help for a subcommand\n",[236,792,793,795,797,799],{"class":238,"line":517},[236,794,243],{"class":242},[236,796,381],{"class":246},[236,798,644],{"class":246},[236,800,764],{"class":246},[236,802,803],{"class":238,"line":531},[236,804,303],{"emptyLinePlaceholder":302},[236,806,807],{"class":238,"line":536},[236,808,809],{"class":278},"# Search for commands\n",[236,811,812,814,817,820],{"class":238,"line":544},[236,813,243],{"class":242},[236,815,816],{"class":246}," help",[236,818,819],{"class":246}," search",[236,821,822],{"class":246}," keyword\n",[255,824,826],{"id":825},"server-management","Server Management",[226,828,830],{"className":228,"code":829,"language":230,"meta":231,"style":231},"# Check server status\nskyport status\n\n# View system information\nskyport system info\n\n# View resource metrics\nskyport metrics\n\n# View service logs\nskyport logs service-name -f\n",[233,831,832,837,844,848,853,863,867,872,879,883,888],{"__ignoreMap":231},[236,833,834],{"class":238,"line":239},[236,835,836],{"class":278},"# Check server status\n",[236,838,839,841],{"class":238,"line":282},[236,840,243],{"class":242},[236,842,843],{"class":246}," status\n",[236,845,846],{"class":238,"line":299},[236,847,303],{"emptyLinePlaceholder":302},[236,849,850],{"class":238,"line":306},[236,851,852],{"class":278},"# View system information\n",[236,854,855,857,860],{"class":238,"line":312},[236,856,243],{"class":242},[236,858,859],{"class":246}," system",[236,861,862],{"class":246}," info\n",[236,864,865],{"class":238,"line":487},[236,866,303],{"emptyLinePlaceholder":302},[236,868,869],{"class":238,"line":503},[236,870,871],{"class":278},"# View resource metrics\n",[236,873,874,876],{"class":238,"line":517},[236,875,243],{"class":242},[236,877,878],{"class":246}," metrics\n",[236,880,881],{"class":238,"line":531},[236,882,303],{"emptyLinePlaceholder":302},[236,884,885],{"class":238,"line":536},[236,886,887],{"class":278},"# View service logs\n",[236,889,890,892,895,898],{"class":238,"line":544},[236,891,243],{"class":242},[236,893,894],{"class":246}," logs",[236,896,897],{"class":246}," service-name",[236,899,900],{"class":246}," -f\n",[255,902,904],{"id":903},"docker-commands","Docker Commands",[226,906,908],{"className":228,"code":907,"language":230,"meta":231,"style":231},"# List containers\nskyport docker ps\n\n# Run a container\nskyport docker run -d nginx:latest\n\n# View logs\nskyport docker logs container-name -f\n\n# Stop container\nskyport docker stop container-name\n",[233,909,910,915,923,927,932,947,951,956,969,973,978],{"__ignoreMap":231},[236,911,912],{"class":238,"line":239},[236,913,914],{"class":278},"# List containers\n",[236,916,917,919,921],{"class":238,"line":282},[236,918,243],{"class":242},[236,920,381],{"class":246},[236,922,384],{"class":246},[236,924,925],{"class":238,"line":299},[236,926,303],{"emptyLinePlaceholder":302},[236,928,929],{"class":238,"line":306},[236,930,931],{"class":278},"# Run a container\n",[236,933,934,936,938,941,944],{"class":238,"line":312},[236,935,243],{"class":242},[236,937,381],{"class":246},[236,939,940],{"class":246}," run",[236,942,943],{"class":246}," -d",[236,945,946],{"class":246}," nginx:latest\n",[236,948,949],{"class":238,"line":487},[236,950,303],{"emptyLinePlaceholder":302},[236,952,953],{"class":238,"line":503},[236,954,955],{"class":278},"# View logs\n",[236,957,958,960,962,964,967],{"class":238,"line":517},[236,959,243],{"class":242},[236,961,381],{"class":246},[236,963,894],{"class":246},[236,965,966],{"class":246}," container-name",[236,968,900],{"class":246},[236,970,971],{"class":238,"line":531},[236,972,303],{"emptyLinePlaceholder":302},[236,974,975],{"class":238,"line":536},[236,976,977],{"class":278},"# Stop container\n",[236,979,980,982,984,987],{"class":238,"line":544},[236,981,243],{"class":242},[236,983,381],{"class":246},[236,985,986],{"class":246}," stop",[236,988,989],{"class":246}," container-name\n",[255,991,993],{"id":992},"pm2-commands","PM2 Commands",[226,995,997],{"className":228,"code":996,"language":230,"meta":231,"style":231},"# List processes\nskyport pm2 list\n\n# Start an application\nskyport pm2 start app.js --name \"my-app\"\n\n# View logs\nskyport pm2 logs my-app -f\n\n# Restart application\nskyport pm2 restart my-app\n",[233,998,999,1004,1014,1018,1023,1045,1049,1053,1066,1070,1075],{"__ignoreMap":231},[236,1000,1001],{"class":238,"line":239},[236,1002,1003],{"class":278},"# List processes\n",[236,1005,1006,1008,1011],{"class":238,"line":282},[236,1007,243],{"class":242},[236,1009,1010],{"class":246}," pm2",[236,1012,1013],{"class":246}," list\n",[236,1015,1016],{"class":238,"line":299},[236,1017,303],{"emptyLinePlaceholder":302},[236,1019,1020],{"class":238,"line":306},[236,1021,1022],{"class":278},"# Start an application\n",[236,1024,1025,1027,1029,1032,1035,1038,1040,1043],{"class":238,"line":312},[236,1026,243],{"class":242},[236,1028,1010],{"class":246},[236,1030,1031],{"class":246}," start",[236,1033,1034],{"class":246}," app.js",[236,1036,1037],{"class":246}," --name",[236,1039,374],{"class":345},[236,1041,1042],{"class":246},"my-app",[236,1044,355],{"class":345},[236,1046,1047],{"class":238,"line":487},[236,1048,303],{"emptyLinePlaceholder":302},[236,1050,1051],{"class":238,"line":503},[236,1052,955],{"class":278},[236,1054,1055,1057,1059,1061,1064],{"class":238,"line":517},[236,1056,243],{"class":242},[236,1058,1010],{"class":246},[236,1060,894],{"class":246},[236,1062,1063],{"class":246}," my-app",[236,1065,900],{"class":246},[236,1067,1068],{"class":238,"line":531},[236,1069,303],{"emptyLinePlaceholder":302},[236,1071,1072],{"class":238,"line":536},[236,1073,1074],{"class":278},"# Restart application\n",[236,1076,1077,1079,1081,1084],{"class":238,"line":544},[236,1078,243],{"class":242},[236,1080,1010],{"class":246},[236,1082,1083],{"class":246}," restart",[236,1085,1086],{"class":246}," my-app\n",[219,1088,1090],{"id":1089},"aliases","Aliases",[215,1092,1093],{},"Create command aliases for frequently used operations:",[226,1095,1097],{"className":228,"code":1096,"language":230,"meta":231,"style":231},"# Add alias to ~\u002F.skyport\u002Fconfig.yaml\naliases:\n  prod-status: \"skyport --server production status\"\n  prod-logs: \"skyport --server production logs\"\n  dev-docker: \"skyport --server development docker\"\n",[233,1098,1099,1104,1109,1121,1133],{"__ignoreMap":231},[236,1100,1101],{"class":238,"line":239},[236,1102,1103],{"class":278},"# Add alias to ~\u002F.skyport\u002Fconfig.yaml\n",[236,1105,1106],{"class":238,"line":282},[236,1107,1108],{"class":242},"aliases:\n",[236,1110,1111,1114,1116,1119],{"class":238,"line":299},[236,1112,1113],{"class":242},"  prod-status:",[236,1115,374],{"class":345},[236,1117,1118],{"class":246},"skyport --server production status",[236,1120,355],{"class":345},[236,1122,1123,1126,1128,1131],{"class":238,"line":306},[236,1124,1125],{"class":242},"  prod-logs:",[236,1127,374],{"class":345},[236,1129,1130],{"class":246},"skyport --server production logs",[236,1132,355],{"class":345},[236,1134,1135,1138,1140,1143],{"class":238,"line":312},[236,1136,1137],{"class":242},"  dev-docker:",[236,1139,374],{"class":345},[236,1141,1142],{"class":246},"skyport --server development docker",[236,1144,355],{"class":345},[215,1146,1147],{},"Then use them:",[226,1149,1151],{"className":228,"code":1150,"language":230,"meta":231,"style":231},"skyport prod-status\nskyport prod-logs app-name\nskyport dev-docker ps\n",[233,1152,1153,1160,1170],{"__ignoreMap":231},[236,1154,1155,1157],{"class":238,"line":239},[236,1156,243],{"class":242},[236,1158,1159],{"class":246}," prod-status\n",[236,1161,1162,1164,1167],{"class":238,"line":282},[236,1163,243],{"class":242},[236,1165,1166],{"class":246}," prod-logs",[236,1168,1169],{"class":246}," app-name\n",[236,1171,1172,1174,1177],{"class":238,"line":299},[236,1173,243],{"class":242},[236,1175,1176],{"class":246}," dev-docker",[236,1178,384],{"class":246},[219,1180,1182],{"id":1181},"shell-completion","Shell Completion",[215,1184,1185],{},"Enable autocomplete for your shell:",[255,1187,1188],{"id":230},"Bash",[226,1190,1192],{"className":228,"code":1191,"language":230,"meta":231,"style":231},"# Add to ~\u002F.bashrc\neval \"$(skyport completion bash)\"\n\n# Or source the completion file\nsource \u003C(skyport completion bash)\n",[233,1193,1194,1199,1216,1220,1225],{"__ignoreMap":231},[236,1195,1196],{"class":238,"line":239},[236,1197,1198],{"class":278},"# Add to ~\u002F.bashrc\n",[236,1200,1201,1205,1208,1210,1213],{"class":238,"line":282},[236,1202,1204],{"class":1203},"s2Zo4","eval",[236,1206,1207],{"class":345}," \"$(",[236,1209,243],{"class":242},[236,1211,1212],{"class":246}," completion bash",[236,1214,1215],{"class":345},")\"\n",[236,1217,1218],{"class":238,"line":299},[236,1219,303],{"emptyLinePlaceholder":302},[236,1221,1222],{"class":238,"line":306},[236,1223,1224],{"class":278},"# Or source the completion file\n",[236,1226,1227,1230,1233,1235,1237],{"class":238,"line":312},[236,1228,1229],{"class":1203},"source",[236,1231,1232],{"class":345}," \u003C(",[236,1234,243],{"class":242},[236,1236,1212],{"class":246},[236,1238,1239],{"class":345},")\n",[255,1241,1243],{"id":1242},"zsh","Zsh",[226,1245,1247],{"className":228,"code":1246,"language":230,"meta":231,"style":231},"# Add to ~\u002F.zshrc\neval \"$(skyport completion zsh)\"\n\n# Add to fpath\nfpath=(~\u002F.skyport\u002Fcompletions\u002Fzsh $fpath)\n",[233,1248,1249,1254,1267,1271,1276],{"__ignoreMap":231},[236,1250,1251],{"class":238,"line":239},[236,1252,1253],{"class":278},"# Add to ~\u002F.zshrc\n",[236,1255,1256,1258,1260,1262,1265],{"class":238,"line":282},[236,1257,1204],{"class":1203},[236,1259,1207],{"class":345},[236,1261,243],{"class":242},[236,1263,1264],{"class":246}," completion zsh",[236,1266,1215],{"class":345},[236,1268,1269],{"class":238,"line":299},[236,1270,303],{"emptyLinePlaceholder":302},[236,1272,1273],{"class":238,"line":306},[236,1274,1275],{"class":278},"# Add to fpath\n",[236,1277,1278,1281,1284,1287,1290],{"class":238,"line":312},[236,1279,1280],{"class":341},"fpath",[236,1282,1283],{"class":345},"=(",[236,1285,1286],{"class":246},"~\u002F.skyport\u002Fcompletions\u002Fzsh",[236,1288,1289],{"class":341}," $fpath",[236,1291,1239],{"class":345},[255,1293,1295],{"id":1294},"powershell","PowerShell",[226,1297,1300],{"className":1298,"code":1299,"language":1294,"meta":231,"style":231},"language-powershell shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Add to $PROFILE\nskyport completion powershell | Out-String | Invoke-Expression\n",[233,1301,1302,1307],{"__ignoreMap":231},[236,1303,1304],{"class":238,"line":239},[236,1305,1306],{},"# Add to $PROFILE\n",[236,1308,1309],{"class":238,"line":282},[236,1310,1311],{},"skyport completion powershell | Out-String | Invoke-Expression\n",[219,1313,1315],{"id":1314},"scripting","Scripting",[255,1317,1319],{"id":1318},"example-backup-all-volumes","Example: Backup All Volumes",[226,1321,1323],{"className":228,"code":1322,"language":230,"meta":231,"style":231},"#!\u002Fbin\u002Fbash\n\nBACKUP_DIR=\"\u002Fbackups\u002F$(date +%Y%m%d)\"\nmkdir -p \"$BACKUP_DIR\"\n\n# Get all volumes\nskyport docker volume ls --format json | jq -r '.[] | .name' | while read volume; do\n  echo \"Backing up volume: $volume\"\n  skyport docker volume backup \"$volume\" --destination \"$BACKUP_DIR\u002F$volume.tar.gz\"\ndone\n\necho \"Backup complete!\"\n",[233,1324,1325,1330,1334,1357,1372,1376,1381,1432,1447,1482,1487,1491],{"__ignoreMap":231},[236,1326,1327],{"class":238,"line":239},[236,1328,1329],{"class":278},"#!\u002Fbin\u002Fbash\n",[236,1331,1332],{"class":238,"line":282},[236,1333,303],{"emptyLinePlaceholder":302},[236,1335,1336,1339,1341,1343,1346,1349,1352,1355],{"class":238,"line":299},[236,1337,1338],{"class":341},"BACKUP_DIR",[236,1340,346],{"class":345},[236,1342,349],{"class":345},[236,1344,1345],{"class":246},"\u002Fbackups\u002F",[236,1347,1348],{"class":345},"$(",[236,1350,1351],{"class":242},"date",[236,1353,1354],{"class":246}," +%Y%m%d",[236,1356,1215],{"class":345},[236,1358,1359,1362,1365,1367,1370],{"class":238,"line":306},[236,1360,1361],{"class":242},"mkdir",[236,1363,1364],{"class":246}," -p",[236,1366,374],{"class":345},[236,1368,1369],{"class":341},"$BACKUP_DIR",[236,1371,355],{"class":345},[236,1373,1374],{"class":238,"line":312},[236,1375,303],{"emptyLinePlaceholder":302},[236,1377,1378],{"class":238,"line":487},[236,1379,1380],{"class":278},"# Get all volumes\n",[236,1382,1383,1385,1387,1390,1393,1395,1397,1400,1403,1406,1409,1412,1415,1417,1421,1424,1426,1429],{"class":238,"line":503},[236,1384,243],{"class":242},[236,1386,381],{"class":246},[236,1388,1389],{"class":246}," volume",[236,1391,1392],{"class":246}," ls",[236,1394,677],{"class":246},[236,1396,680],{"class":246},[236,1398,1399],{"class":345}," |",[236,1401,1402],{"class":242}," jq",[236,1404,1405],{"class":246}," -r",[236,1407,1408],{"class":345}," '",[236,1410,1411],{"class":246},".[] | .name",[236,1413,1414],{"class":345},"'",[236,1416,1399],{"class":345},[236,1418,1420],{"class":1419},"s7zQu"," while",[236,1422,1423],{"class":1203}," read",[236,1425,1389],{"class":246},[236,1427,1428],{"class":345},";",[236,1430,1431],{"class":1419}," do\n",[236,1433,1434,1437,1439,1442,1445],{"class":238,"line":517},[236,1435,1436],{"class":1203},"  echo",[236,1438,374],{"class":345},[236,1440,1441],{"class":246},"Backing up volume: ",[236,1443,1444],{"class":341},"$volume",[236,1446,355],{"class":345},[236,1448,1449,1452,1454,1456,1459,1461,1463,1465,1468,1470,1472,1475,1477,1480],{"class":238,"line":531},[236,1450,1451],{"class":242},"  skyport",[236,1453,381],{"class":246},[236,1455,1389],{"class":246},[236,1457,1458],{"class":246}," backup",[236,1460,374],{"class":345},[236,1462,1444],{"class":341},[236,1464,349],{"class":345},[236,1466,1467],{"class":246}," --destination",[236,1469,374],{"class":345},[236,1471,1369],{"class":341},[236,1473,1474],{"class":246},"\u002F",[236,1476,1444],{"class":341},[236,1478,1479],{"class":246},".tar.gz",[236,1481,355],{"class":345},[236,1483,1484],{"class":238,"line":536},[236,1485,1486],{"class":1419},"done\n",[236,1488,1489],{"class":238,"line":544},[236,1490,303],{"emptyLinePlaceholder":302},[236,1492,1493,1496,1498,1501],{"class":238,"line":562},[236,1494,1495],{"class":1203},"echo",[236,1497,374],{"class":345},[236,1499,1500],{"class":246},"Backup complete!",[236,1502,355],{"class":345},[255,1504,1506],{"id":1505},"example-monitor-application","Example: Monitor Application",[226,1508,1510],{"className":228,"code":1509,"language":230,"meta":231,"style":231},"#!\u002Fbin\u002Fbash\n\nAPP_NAME=\"my-app\"\n\nwhile true; do\n  STATUS=$(skyport docker inspect \"$APP_NAME\" --format json | jq -r '.State.Status')\n  \n  if [ \"$STATUS\" != \"running\" ]; then\n    echo \"WARNING: $APP_NAME is not running! Status: $STATUS\"\n    # Send alert\n    notify-send \"SkyPort Alert\" \"$APP_NAME is down\"\n  fi\n  \n  sleep 60\ndone\n",[233,1511,1512,1516,1520,1533,1537,1549,1590,1595,1625,1644,1649,1670,1675,1679,1689],{"__ignoreMap":231},[236,1513,1514],{"class":238,"line":239},[236,1515,1329],{"class":278},[236,1517,1518],{"class":238,"line":282},[236,1519,303],{"emptyLinePlaceholder":302},[236,1521,1522,1525,1527,1529,1531],{"class":238,"line":299},[236,1523,1524],{"class":341},"APP_NAME",[236,1526,346],{"class":345},[236,1528,349],{"class":345},[236,1530,1042],{"class":246},[236,1532,355],{"class":345},[236,1534,1535],{"class":238,"line":306},[236,1536,303],{"emptyLinePlaceholder":302},[236,1538,1539,1542,1545,1547],{"class":238,"line":312},[236,1540,1541],{"class":1419},"while",[236,1543,1544],{"class":1203}," true",[236,1546,1428],{"class":345},[236,1548,1431],{"class":1419},[236,1550,1551,1554,1557,1559,1561,1564,1566,1569,1571,1573,1575,1577,1579,1581,1583,1586,1588],{"class":238,"line":487},[236,1552,1553],{"class":341},"  STATUS",[236,1555,1556],{"class":345},"=$(",[236,1558,243],{"class":242},[236,1560,381],{"class":246},[236,1562,1563],{"class":246}," inspect",[236,1565,374],{"class":345},[236,1567,1568],{"class":341},"$APP_NAME",[236,1570,349],{"class":345},[236,1572,677],{"class":246},[236,1574,680],{"class":246},[236,1576,1399],{"class":345},[236,1578,1402],{"class":242},[236,1580,1405],{"class":246},[236,1582,1408],{"class":345},[236,1584,1585],{"class":246},".State.Status",[236,1587,1414],{"class":345},[236,1589,1239],{"class":345},[236,1591,1592],{"class":238,"line":503},[236,1593,1594],{"class":341},"  \n",[236,1596,1597,1600,1602,1604,1607,1609,1612,1614,1617,1619,1622],{"class":238,"line":517},[236,1598,1599],{"class":1419},"  if",[236,1601,612],{"class":345},[236,1603,374],{"class":345},[236,1605,1606],{"class":341},"$STATUS",[236,1608,349],{"class":345},[236,1610,1611],{"class":345}," !=",[236,1613,374],{"class":345},[236,1615,1616],{"class":246},"running",[236,1618,349],{"class":345},[236,1620,1621],{"class":345}," ];",[236,1623,1624],{"class":1419}," then\n",[236,1626,1627,1630,1632,1635,1637,1640,1642],{"class":238,"line":531},[236,1628,1629],{"class":1203},"    echo",[236,1631,374],{"class":345},[236,1633,1634],{"class":246},"WARNING: ",[236,1636,1568],{"class":341},[236,1638,1639],{"class":246}," is not running! Status: ",[236,1641,1606],{"class":341},[236,1643,355],{"class":345},[236,1645,1646],{"class":238,"line":536},[236,1647,1648],{"class":278},"    # Send alert\n",[236,1650,1651,1654,1656,1659,1661,1663,1665,1668],{"class":238,"line":544},[236,1652,1653],{"class":242},"    notify-send",[236,1655,374],{"class":345},[236,1657,1658],{"class":246},"SkyPort Alert",[236,1660,349],{"class":345},[236,1662,374],{"class":345},[236,1664,1568],{"class":341},[236,1666,1667],{"class":246}," is down",[236,1669,355],{"class":345},[236,1671,1672],{"class":238,"line":562},[236,1673,1674],{"class":1419},"  fi\n",[236,1676,1677],{"class":238,"line":572},[236,1678,1594],{"class":341},[236,1680,1682,1685],{"class":238,"line":1681},14,[236,1683,1684],{"class":242},"  sleep",[236,1686,1688],{"class":1687},"sbssI"," 60\n",[236,1690,1692],{"class":238,"line":1691},15,[236,1693,1486],{"class":1419},[255,1695,1697],{"id":1696},"example-automated-deployment","Example: Automated Deployment",[226,1699,1701],{"className":228,"code":1700,"language":230,"meta":231,"style":231},"#!\u002Fbin\u002Fbash\n\n# Pull latest changes\ngit pull origin main\n\n# Build new image\ndocker build -t my-app:latest .\n\n# Stop old container\nskyport docker stop my-app\n\n# Remove old container\nskyport docker rm my-app\n\n# Run new container\nskyport docker run -d \\\n  --name my-app \\\n  -p 3000:3000 \\\n  my-app:latest\n\necho \"Deployment complete!\"\n",[233,1702,1703,1707,1711,1716,1730,1734,1739,1756,1760,1765,1775,1779,1784,1795,1799,1804,1818,1828,1839,1845,1850],{"__ignoreMap":231},[236,1704,1705],{"class":238,"line":239},[236,1706,1329],{"class":278},[236,1708,1709],{"class":238,"line":282},[236,1710,303],{"emptyLinePlaceholder":302},[236,1712,1713],{"class":238,"line":299},[236,1714,1715],{"class":278},"# Pull latest changes\n",[236,1717,1718,1721,1724,1727],{"class":238,"line":306},[236,1719,1720],{"class":242},"git",[236,1722,1723],{"class":246}," pull",[236,1725,1726],{"class":246}," origin",[236,1728,1729],{"class":246}," main\n",[236,1731,1732],{"class":238,"line":312},[236,1733,303],{"emptyLinePlaceholder":302},[236,1735,1736],{"class":238,"line":487},[236,1737,1738],{"class":278},"# Build new image\n",[236,1740,1741,1744,1747,1750,1753],{"class":238,"line":503},[236,1742,1743],{"class":242},"docker",[236,1745,1746],{"class":246}," build",[236,1748,1749],{"class":246}," -t",[236,1751,1752],{"class":246}," my-app:latest",[236,1754,1755],{"class":246}," .\n",[236,1757,1758],{"class":238,"line":517},[236,1759,303],{"emptyLinePlaceholder":302},[236,1761,1762],{"class":238,"line":531},[236,1763,1764],{"class":278},"# Stop old container\n",[236,1766,1767,1769,1771,1773],{"class":238,"line":536},[236,1768,243],{"class":242},[236,1770,381],{"class":246},[236,1772,986],{"class":246},[236,1774,1086],{"class":246},[236,1776,1777],{"class":238,"line":544},[236,1778,303],{"emptyLinePlaceholder":302},[236,1780,1781],{"class":238,"line":562},[236,1782,1783],{"class":278},"# Remove old container\n",[236,1785,1786,1788,1790,1793],{"class":238,"line":572},[236,1787,243],{"class":242},[236,1789,381],{"class":246},[236,1791,1792],{"class":246}," rm",[236,1794,1086],{"class":246},[236,1796,1797],{"class":238,"line":1681},[236,1798,303],{"emptyLinePlaceholder":302},[236,1800,1801],{"class":238,"line":1691},[236,1802,1803],{"class":278},"# Run new container\n",[236,1805,1807,1809,1811,1813,1815],{"class":238,"line":1806},16,[236,1808,243],{"class":242},[236,1810,381],{"class":246},[236,1812,940],{"class":246},[236,1814,943],{"class":246},[236,1816,1817],{"class":341}," \\\n",[236,1819,1821,1824,1826],{"class":238,"line":1820},17,[236,1822,1823],{"class":246},"  --name",[236,1825,1063],{"class":246},[236,1827,1817],{"class":341},[236,1829,1831,1834,1837],{"class":238,"line":1830},18,[236,1832,1833],{"class":246},"  -p",[236,1835,1836],{"class":246}," 3000:3000",[236,1838,1817],{"class":341},[236,1840,1842],{"class":238,"line":1841},19,[236,1843,1844],{"class":246},"  my-app:latest\n",[236,1846,1848],{"class":238,"line":1847},20,[236,1849,303],{"emptyLinePlaceholder":302},[236,1851,1853,1855,1857,1860],{"class":238,"line":1852},21,[236,1854,1495],{"class":1203},[236,1856,374],{"class":345},[236,1858,1859],{"class":246},"Deployment complete!",[236,1861,355],{"class":345},[219,1863,36],{"id":1864},"troubleshooting",[255,1866,1868],{"id":1867},"command-not-found","\"Command not found\"",[215,1870,1871],{},"Ensure SkyPort is in your PATH:",[226,1873,1875],{"className":228,"code":1874,"language":230,"meta":231,"style":231},"which skyport\necho $PATH\n",[233,1876,1877,1885],{"__ignoreMap":231},[236,1878,1879,1882],{"class":238,"line":239},[236,1880,1881],{"class":1203},"which",[236,1883,1884],{"class":246}," skyport\n",[236,1886,1887,1889],{"class":238,"line":282},[236,1888,1495],{"class":1203},[236,1890,1891],{"class":341}," $PATH\n",[255,1893,1895],{"id":1894},"connection-refused","\"Connection refused\"",[215,1897,1898],{},"Verify SkyPort server is running:",[226,1900,1902],{"className":228,"code":1901,"language":230,"meta":231,"style":231},"skyport status\n# or\ncurl http:\u002F\u002Flocalhost:8080\u002Fhealth\n",[233,1903,1904,1910,1915],{"__ignoreMap":231},[236,1905,1906,1908],{"class":238,"line":239},[236,1907,243],{"class":242},[236,1909,843],{"class":246},[236,1911,1912],{"class":238,"line":282},[236,1913,1914],{"class":278},"# or\n",[236,1916,1917,1920],{"class":238,"line":299},[236,1918,1919],{"class":242},"curl",[236,1921,1922],{"class":246}," http:\u002F\u002Flocalhost:8080\u002Fhealth\n",[255,1924,1926],{"id":1925},"unauthorized","\"Unauthorized\"",[215,1928,1929],{},"Check your authentication:",[226,1931,1933],{"className":228,"code":1932,"language":230,"meta":231,"style":231},"skyport auth login\n# or set SKYPORT_TOKEN environment variable\n",[233,1934,1935,1944],{"__ignoreMap":231},[236,1936,1937,1939,1941],{"class":238,"line":239},[236,1938,243],{"class":242},[236,1940,287],{"class":246},[236,1942,1943],{"class":246}," login\n",[236,1945,1946],{"class":238,"line":282},[236,1947,1948],{"class":278},"# or set SKYPORT_TOKEN environment variable\n",[1950,1951],"hr",{},[215,1953,1954,1958,1959,1963,1964],{},[1955,1956,1957],"strong",{},"Next",": ",[1960,1961,1962],"a",{"href":78},"CLI Commands Reference"," | ",[1960,1965,175],{"href":176},[1967,1968,1969],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":231,"searchDepth":282,"depth":282,"links":1971},[1972,1973,1978,1981,1985,1991,1992,1997,2002],{"id":221,"depth":282,"text":16},{"id":250,"depth":282,"text":191,"children":1974},[1975,1976,1977],{"id":257,"depth":299,"text":258},{"id":264,"depth":299,"text":265},{"id":318,"depth":299,"text":319},{"id":387,"depth":282,"text":195,"children":1979},[1980],{"id":405,"depth":299,"text":406},{"id":583,"depth":282,"text":584,"children":1982},[1983,1984],{"id":587,"depth":299,"text":588},{"id":621,"depth":299,"text":622},{"id":742,"depth":282,"text":743,"children":1986},[1987,1988,1989,1990],{"id":746,"depth":299,"text":747},{"id":825,"depth":299,"text":826},{"id":903,"depth":299,"text":904},{"id":992,"depth":299,"text":993},{"id":1089,"depth":282,"text":1090},{"id":1181,"depth":282,"text":1182,"children":1993},[1994,1995,1996],{"id":230,"depth":299,"text":1188},{"id":1242,"depth":299,"text":1243},{"id":1294,"depth":299,"text":1295},{"id":1314,"depth":282,"text":1315,"children":1998},[1999,2000,2001],{"id":1318,"depth":299,"text":1319},{"id":1505,"depth":299,"text":1506},{"id":1696,"depth":299,"text":1697},{"id":1864,"depth":282,"text":36,"children":2003},[2004,2005,2006],{"id":1867,"depth":299,"text":1868},{"id":1894,"depth":299,"text":1895},{"id":1925,"depth":299,"text":1926},"Install and configure the SkyPort CLI","md",null,{},{"title":73,"description":2007},"VU5LVbug85m8HCcFeduYV2UtJSJpVwDooyyH3xCYRrw",[2014,2016],{"title":64,"path":65,"stem":66,"description":2015,"children":-1},"View and manage application logs in SkyPort",{"title":77,"path":78,"stem":79,"description":2017,"children":-1},"Complete SkyPort CLI commands reference",1778858459265]