[{"data":1,"prerenderedAt":2078},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-troubleshooting":204,"-getting-started-troubleshooting-surround":2073},[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":36,"body":206,"description":2066,"extension":2067,"links":2068,"meta":2069,"navigation":2070,"path":37,"seo":2071,"stem":38,"__hash__":2072},"docs\u002F1.getting-started\u002F6.troubleshooting.md",{"type":207,"value":208,"toc":2030},"minimark",[209,213,218,223,235,241,350,355,372,376,387,391,432,436,440,445,449,571,575,580,584,641,645,650,654,672,676,680,685,690,742,747,762,767,789,793,798,802,873,877,882,886,956,960,964,972,976,1020,1024,1029,1033,1112,1116,1121,1125,1202,1206,1210,1221,1225,1328,1332,1337,1341,1424,1428,1433,1437,1461,1479,1483,1487,1492,1496,1585,1589,1594,1598,1727,1731,1736,1740,1814,1818,1822,1827,1831,1909,1913,1922,1926,1986,1990,2017,2020,2026],[210,211,212],"p",{},"Solutions to common SkyPort issues.",[214,215,217],"h2",{"id":216},"installation-issues","Installation Issues",[219,220,222],"h3",{"id":221},"command-not-found-skyport","\"Command not found: skyport\"",[210,224,225,229,230,234],{},[226,227,228],"strong",{},"Problem",": After installation, ",[231,232,233],"code",{},"skyport"," command is not recognized.",[210,236,237,240],{},[226,238,239],{},"Solution",":",[242,243,248],"pre",{"className":244,"code":245,"language":246,"meta":247,"style":247},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Verify installation\nwhich skyport\n\n# If not found, add to PATH\nexport PATH=\"\u002Fusr\u002Flocal\u002Fbin:$PATH\"\n\n# Make permanent (Linux\u002FmacOS)\necho 'export PATH=\"\u002Fusr\u002Flocal\u002Fbin:$PATH\"' >> ~\u002F.bashrc\nsource ~\u002F.bashrc\n","bash","",[231,249,250,259,270,277,283,310,315,321,342],{"__ignoreMap":247},[251,252,255],"span",{"class":253,"line":254},"line",1,[251,256,258],{"class":257},"sHwdD","# Verify installation\n",[251,260,262,266],{"class":253,"line":261},2,[251,263,265],{"class":264},"s2Zo4","which",[251,267,269],{"class":268},"sfazB"," skyport\n",[251,271,273],{"class":253,"line":272},3,[251,274,276],{"emptyLinePlaceholder":275},true,"\n",[251,278,280],{"class":253,"line":279},4,[251,281,282],{"class":257},"# If not found, add to PATH\n",[251,284,286,290,294,298,301,304,307],{"class":253,"line":285},5,[251,287,289],{"class":288},"spNyl","export",[251,291,293],{"class":292},"sTEyZ"," PATH",[251,295,297],{"class":296},"sMK4o","=",[251,299,300],{"class":296},"\"",[251,302,303],{"class":268},"\u002Fusr\u002Flocal\u002Fbin:",[251,305,306],{"class":292},"$PATH",[251,308,309],{"class":296},"\"\n",[251,311,313],{"class":253,"line":312},6,[251,314,276],{"emptyLinePlaceholder":275},[251,316,318],{"class":253,"line":317},7,[251,319,320],{"class":257},"# Make permanent (Linux\u002FmacOS)\n",[251,322,324,327,330,333,336,339],{"class":253,"line":323},8,[251,325,326],{"class":264},"echo",[251,328,329],{"class":296}," '",[251,331,332],{"class":268},"export PATH=\"\u002Fusr\u002Flocal\u002Fbin:$PATH\"",[251,334,335],{"class":296},"'",[251,337,338],{"class":296}," >>",[251,340,341],{"class":268}," ~\u002F.bashrc\n",[251,343,345,348],{"class":253,"line":344},9,[251,346,347],{"class":264},"source",[251,349,341],{"class":268},[210,351,352,240],{},[226,353,354],{},"Windows",[356,357,358,362,369],"ul",{},[359,360,361],"li",{},"Restart your terminal after installation",[359,363,364,365,368],{},"If still not working, manually add ",[231,366,367],{},"C:\\Program Files\\SkyPort"," to your PATH",[359,370,371],{},"Restart your computer if necessary",[219,373,375],{"id":374},"permission-denied-on-linux","Permission Denied on Linux",[210,377,378,380,381,384,385],{},[226,379,228],{},": ",[231,382,383],{},"Permission denied"," when trying to run ",[231,386,233],{},[210,388,389,240],{},[226,390,239],{},[242,392,394],{"className":244,"code":393,"language":246,"meta":247,"style":247},"# Make binary executable\nchmod +x \u002Fusr\u002Flocal\u002Fbin\u002Fskyport\n\n# Verify permissions\nls -la \u002Fusr\u002Flocal\u002Fbin\u002Fskyport\n",[231,395,396,401,413,417,422],{"__ignoreMap":247},[251,397,398],{"class":253,"line":254},[251,399,400],{"class":257},"# Make binary executable\n",[251,402,403,407,410],{"class":253,"line":261},[251,404,406],{"class":405},"sBMFI","chmod",[251,408,409],{"class":268}," +x",[251,411,412],{"class":268}," \u002Fusr\u002Flocal\u002Fbin\u002Fskyport\n",[251,414,415],{"class":253,"line":272},[251,416,276],{"emptyLinePlaceholder":275},[251,418,419],{"class":253,"line":279},[251,420,421],{"class":257},"# Verify permissions\n",[251,423,424,427,430],{"class":253,"line":285},[251,425,426],{"class":405},"ls",[251,428,429],{"class":268}," -la",[251,431,412],{"class":268},[214,433,435],{"id":434},"server-issues","Server Issues",[219,437,439],{"id":438},"address-already-in-use-error","\"Address already in use\" Error",[210,441,442,444],{},[226,443,228],{},": Port 8080 is already in use",[210,446,447,240],{},[226,448,239],{},[242,450,452],{"className":244,"code":451,"language":246,"meta":247,"style":247},"# Use a different port\nskyport start webui --port 8081\n\n# Or find and stop the process using the port\nlsof -i :8080  # Linux\u002FmacOS\nnetstat -ano | findstr :8080  # Windows\n\n# Kill the process\nkill -9 \u003CPID>  # Linux\u002FmacOS\ntaskkill \u002FPID \u003CPID> \u002FF  # Windows\n",[231,453,454,459,476,480,485,499,518,522,527,549],{"__ignoreMap":247},[251,455,456],{"class":253,"line":254},[251,457,458],{"class":257},"# Use a different port\n",[251,460,461,463,466,469,472],{"class":253,"line":261},[251,462,233],{"class":405},[251,464,465],{"class":268}," start",[251,467,468],{"class":268}," webui",[251,470,471],{"class":268}," --port",[251,473,475],{"class":474},"sbssI"," 8081\n",[251,477,478],{"class":253,"line":272},[251,479,276],{"emptyLinePlaceholder":275},[251,481,482],{"class":253,"line":279},[251,483,484],{"class":257},"# Or find and stop the process using the port\n",[251,486,487,490,493,496],{"class":253,"line":285},[251,488,489],{"class":405},"lsof",[251,491,492],{"class":268}," -i",[251,494,495],{"class":268}," :8080",[251,497,498],{"class":257},"  # Linux\u002FmacOS\n",[251,500,501,504,507,510,513,515],{"class":253,"line":312},[251,502,503],{"class":405},"netstat",[251,505,506],{"class":268}," -ano",[251,508,509],{"class":296}," |",[251,511,512],{"class":405}," findstr",[251,514,495],{"class":268},[251,516,517],{"class":257},"  # Windows\n",[251,519,520],{"class":253,"line":317},[251,521,276],{"emptyLinePlaceholder":275},[251,523,524],{"class":253,"line":323},[251,525,526],{"class":257},"# Kill the process\n",[251,528,529,532,535,538,541,544,547],{"class":253,"line":344},[251,530,531],{"class":264},"kill",[251,533,534],{"class":268}," -9",[251,536,537],{"class":296}," \u003C",[251,539,540],{"class":268},"PI",[251,542,543],{"class":292},"D",[251,545,546],{"class":296},">",[251,548,498],{"class":257},[251,550,552,555,558,560,562,564,566,569],{"class":253,"line":551},10,[251,553,554],{"class":405},"taskkill",[251,556,557],{"class":268}," \u002FPID",[251,559,537],{"class":296},[251,561,540],{"class":268},[251,563,543],{"class":292},[251,565,546],{"class":296},[251,567,568],{"class":268}," \u002FF",[251,570,517],{"class":257},[219,572,574],{"id":573},"skyport-crashes-on-start","SkyPort Crashes on Start",[210,576,577,579],{},[226,578,228],{},": Server crashes immediately after starting",[210,581,582,240],{},[226,583,239],{},[242,585,587],{"className":244,"code":586,"language":246,"meta":247,"style":247},"# Check if configuration is corrupted\nrm -rf ~\u002F.skyport\u002Fconfig.yaml\n\n# Clear cache\nrm -rf ~\u002F.skyport\u002Fcache\n\n# Restart\nskyport start webui\n",[231,588,589,594,605,609,614,623,627,632],{"__ignoreMap":247},[251,590,591],{"class":253,"line":254},[251,592,593],{"class":257},"# Check if configuration is corrupted\n",[251,595,596,599,602],{"class":253,"line":261},[251,597,598],{"class":405},"rm",[251,600,601],{"class":268}," -rf",[251,603,604],{"class":268}," ~\u002F.skyport\u002Fconfig.yaml\n",[251,606,607],{"class":253,"line":272},[251,608,276],{"emptyLinePlaceholder":275},[251,610,611],{"class":253,"line":279},[251,612,613],{"class":257},"# Clear cache\n",[251,615,616,618,620],{"class":253,"line":285},[251,617,598],{"class":405},[251,619,601],{"class":268},[251,621,622],{"class":268}," ~\u002F.skyport\u002Fcache\n",[251,624,625],{"class":253,"line":312},[251,626,276],{"emptyLinePlaceholder":275},[251,628,629],{"class":253,"line":317},[251,630,631],{"class":257},"# Restart\n",[251,633,634,636,638],{"class":253,"line":323},[251,635,233],{"class":405},[251,637,465],{"class":268},[251,639,640],{"class":268}," webui\n",[219,642,644],{"id":643},"webui-wont-load","WebUI Won't Load",[210,646,647,649],{},[226,648,228],{},": Dashboard shows blank or doesn't load",[210,651,652,240],{},[226,653,239],{},[655,656,657,660,663,666,669],"ol",{},[359,658,659],{},"Clear browser cache (Ctrl+Shift+Delete)",[359,661,662],{},"Try incognito\u002Fprivate mode",[359,664,665],{},"Check browser console for errors (F12)",[359,667,668],{},"Try a different browser",[359,670,671],{},"Restart SkyPort server",[214,673,675],{"id":674},"docker-issues","Docker Issues",[219,677,679],{"id":678},"docker-socket-permission-error","Docker Socket Permission Error",[210,681,682,684],{},[226,683,228],{},": \"Permission denied\" when accessing Docker socket",[210,686,687,689],{},[226,688,239],{}," (Linux):",[242,691,693],{"className":244,"code":692,"language":246,"meta":247,"style":247},"# Add current user to docker group\nsudo usermod -aG docker $USER\nnewgrp docker\n\n# Verify\ndocker ps\n",[231,694,695,700,717,725,729,734],{"__ignoreMap":247},[251,696,697],{"class":253,"line":254},[251,698,699],{"class":257},"# Add current user to docker group\n",[251,701,702,705,708,711,714],{"class":253,"line":261},[251,703,704],{"class":405},"sudo",[251,706,707],{"class":268}," usermod",[251,709,710],{"class":268}," -aG",[251,712,713],{"class":268}," docker",[251,715,716],{"class":292}," $USER\n",[251,718,719,722],{"class":253,"line":272},[251,720,721],{"class":405},"newgrp",[251,723,724],{"class":268}," docker\n",[251,726,727],{"class":253,"line":279},[251,728,276],{"emptyLinePlaceholder":275},[251,730,731],{"class":253,"line":285},[251,732,733],{"class":257},"# Verify\n",[251,735,736,739],{"class":253,"line":312},[251,737,738],{"class":405},"docker",[251,740,741],{"class":268}," ps\n",[210,743,744,746],{},[226,745,239],{}," (macOS):",[242,748,750],{"className":244,"code":749,"language":246,"meta":247,"style":247},"# Docker Desktop should handle permissions automatically\n# If issues persist, restart Docker Desktop\n",[231,751,752,757],{"__ignoreMap":247},[251,753,754],{"class":253,"line":254},[251,755,756],{"class":257},"# Docker Desktop should handle permissions automatically\n",[251,758,759],{"class":253,"line":261},[251,760,761],{"class":257},"# If issues persist, restart Docker Desktop\n",[210,763,764,766],{},[226,765,239],{}," (Windows with WSL2):",[242,768,770],{"className":244,"code":769,"language":246,"meta":247,"style":247},"# Inside WSL2, run:\nsudo usermod -aG docker $USER\n",[231,771,772,777],{"__ignoreMap":247},[251,773,774],{"class":253,"line":254},[251,775,776],{"class":257},"# Inside WSL2, run:\n",[251,778,779,781,783,785,787],{"class":253,"line":261},[251,780,704],{"class":405},[251,782,707],{"class":268},[251,784,710],{"class":268},[251,786,713],{"class":268},[251,788,716],{"class":292},[219,790,792],{"id":791},"cannot-connect-to-docker-daemon","Cannot Connect to Docker Daemon",[210,794,795,797],{},[226,796,228],{},": \"Cannot connect to Docker daemon\"",[210,799,800,240],{},[226,801,239],{},[242,803,805],{"className":244,"code":804,"language":246,"meta":247,"style":247},"# Ensure Docker is running\nsudo systemctl start docker  # Linux\n# Or open Docker Desktop  # macOS\u002FWindows\n\n# Check Docker socket location\nls -la \u002Fvar\u002Frun\u002Fdocker.sock  # Linux\n\n# Try restarting Docker\nsudo systemctl restart docker  # Linux\n",[231,806,807,812,826,831,835,840,851,855,860],{"__ignoreMap":247},[251,808,809],{"class":253,"line":254},[251,810,811],{"class":257},"# Ensure Docker is running\n",[251,813,814,816,819,821,823],{"class":253,"line":261},[251,815,704],{"class":405},[251,817,818],{"class":268}," systemctl",[251,820,465],{"class":268},[251,822,713],{"class":268},[251,824,825],{"class":257},"  # Linux\n",[251,827,828],{"class":253,"line":272},[251,829,830],{"class":257},"# Or open Docker Desktop  # macOS\u002FWindows\n",[251,832,833],{"class":253,"line":279},[251,834,276],{"emptyLinePlaceholder":275},[251,836,837],{"class":253,"line":285},[251,838,839],{"class":257},"# Check Docker socket location\n",[251,841,842,844,846,849],{"class":253,"line":312},[251,843,426],{"class":405},[251,845,429],{"class":268},[251,847,848],{"class":268}," \u002Fvar\u002Frun\u002Fdocker.sock",[251,850,825],{"class":257},[251,852,853],{"class":253,"line":317},[251,854,276],{"emptyLinePlaceholder":275},[251,856,857],{"class":253,"line":323},[251,858,859],{"class":257},"# Try restarting Docker\n",[251,861,862,864,866,869,871],{"class":253,"line":344},[251,863,704],{"class":405},[251,865,818],{"class":268},[251,867,868],{"class":268}," restart",[251,870,713],{"class":268},[251,872,825],{"class":257},[219,874,876],{"id":875},"image-pull-fails","Image Pull Fails",[210,878,879,881],{},[226,880,228],{},": Cannot pull Docker images",[210,883,884,240],{},[226,885,239],{},[242,887,889],{"className":244,"code":888,"language":246,"meta":247,"style":247},"# Check internet connection\nping docker.io\n\n# Check DNS\nnslookup docker.io\n\n# Try with explicit registry\nskyport docker pull docker.io\u002Flibrary\u002Fnginx:latest\n\n# Configure Docker daemon if behind proxy\n# Edit \u002Fetc\u002Fdocker\u002Fdaemon.json\n",[231,890,891,896,904,908,913,920,924,929,941,945,950],{"__ignoreMap":247},[251,892,893],{"class":253,"line":254},[251,894,895],{"class":257},"# Check internet connection\n",[251,897,898,901],{"class":253,"line":261},[251,899,900],{"class":405},"ping",[251,902,903],{"class":268}," docker.io\n",[251,905,906],{"class":253,"line":272},[251,907,276],{"emptyLinePlaceholder":275},[251,909,910],{"class":253,"line":279},[251,911,912],{"class":257},"# Check DNS\n",[251,914,915,918],{"class":253,"line":285},[251,916,917],{"class":405},"nslookup",[251,919,903],{"class":268},[251,921,922],{"class":253,"line":312},[251,923,276],{"emptyLinePlaceholder":275},[251,925,926],{"class":253,"line":317},[251,927,928],{"class":257},"# Try with explicit registry\n",[251,930,931,933,935,938],{"class":253,"line":323},[251,932,233],{"class":405},[251,934,713],{"class":268},[251,936,937],{"class":268}," pull",[251,939,940],{"class":268}," docker.io\u002Flibrary\u002Fnginx:latest\n",[251,942,943],{"class":253,"line":344},[251,944,276],{"emptyLinePlaceholder":275},[251,946,947],{"class":253,"line":551},[251,948,949],{"class":257},"# Configure Docker daemon if behind proxy\n",[251,951,953],{"class":253,"line":952},11,[251,954,955],{"class":257},"# Edit \u002Fetc\u002Fdocker\u002Fdaemon.json\n",[214,957,959],{"id":958},"pm2-issues","PM2 Issues",[219,961,963],{"id":962},"pm2-command-not-found","PM2 Command Not Found",[210,965,966,380,968,971],{},[226,967,228],{},[231,969,970],{},"skyport pm2"," commands don't work",[210,973,974,240],{},[226,975,239],{},[242,977,979],{"className":244,"code":978,"language":246,"meta":247,"style":247},"# Install PM2 globally\nnpm install -g pm2\n\n# Or use Node.js directly\nnode \u002Fpath\u002Fto\u002Fpm2\u002Fbin\u002Fpm2.js list\n",[231,980,981,986,1000,1004,1009],{"__ignoreMap":247},[251,982,983],{"class":253,"line":254},[251,984,985],{"class":257},"# Install PM2 globally\n",[251,987,988,991,994,997],{"class":253,"line":261},[251,989,990],{"class":405},"npm",[251,992,993],{"class":268}," install",[251,995,996],{"class":268}," -g",[251,998,999],{"class":268}," pm2\n",[251,1001,1002],{"class":253,"line":272},[251,1003,276],{"emptyLinePlaceholder":275},[251,1005,1006],{"class":253,"line":279},[251,1007,1008],{"class":257},"# Or use Node.js directly\n",[251,1010,1011,1014,1017],{"class":253,"line":285},[251,1012,1013],{"class":405},"node",[251,1015,1016],{"class":268}," \u002Fpath\u002Fto\u002Fpm2\u002Fbin\u002Fpm2.js",[251,1018,1019],{"class":268}," list\n",[219,1021,1023],{"id":1022},"application-wont-start-with-pm2","Application Won't Start with PM2",[210,1025,1026,1028],{},[226,1027,228],{},": PM2 app won't start",[210,1030,1031,240],{},[226,1032,239],{},[242,1034,1036],{"className":244,"code":1035,"language":246,"meta":247,"style":247},"# Check if Node.js is installed\nnode --version\n\n# Check the start script\nskyport pm2 describe app-name\n\n# View detailed error logs\nskyport pm2 logs app-name --err\n\n# Try starting manually first\nnode app.js\n",[231,1037,1038,1043,1050,1054,1059,1072,1076,1081,1096,1100,1105],{"__ignoreMap":247},[251,1039,1040],{"class":253,"line":254},[251,1041,1042],{"class":257},"# Check if Node.js is installed\n",[251,1044,1045,1047],{"class":253,"line":261},[251,1046,1013],{"class":405},[251,1048,1049],{"class":268}," --version\n",[251,1051,1052],{"class":253,"line":272},[251,1053,276],{"emptyLinePlaceholder":275},[251,1055,1056],{"class":253,"line":279},[251,1057,1058],{"class":257},"# Check the start script\n",[251,1060,1061,1063,1066,1069],{"class":253,"line":285},[251,1062,233],{"class":405},[251,1064,1065],{"class":268}," pm2",[251,1067,1068],{"class":268}," describe",[251,1070,1071],{"class":268}," app-name\n",[251,1073,1074],{"class":253,"line":312},[251,1075,276],{"emptyLinePlaceholder":275},[251,1077,1078],{"class":253,"line":317},[251,1079,1080],{"class":257},"# View detailed error logs\n",[251,1082,1083,1085,1087,1090,1093],{"class":253,"line":323},[251,1084,233],{"class":405},[251,1086,1065],{"class":268},[251,1088,1089],{"class":268}," logs",[251,1091,1092],{"class":268}," app-name",[251,1094,1095],{"class":268}," --err\n",[251,1097,1098],{"class":253,"line":344},[251,1099,276],{"emptyLinePlaceholder":275},[251,1101,1102],{"class":253,"line":551},[251,1103,1104],{"class":257},"# Try starting manually first\n",[251,1106,1107,1109],{"class":253,"line":952},[251,1108,1013],{"class":405},[251,1110,1111],{"class":268}," app.js\n",[219,1113,1115],{"id":1114},"pm2-logs-not-showing","PM2 Logs Not Showing",[210,1117,1118,1120],{},[226,1119,228],{},": Cannot view PM2 application logs",[210,1122,1123,240],{},[226,1124,239],{},[242,1126,1128],{"className":244,"code":1127,"language":246,"meta":247,"style":247},"# Check log file location\nskyport pm2 describe app-name\n\n# View log files directly\ntail -f ~\u002F.pm2\u002Flogs\u002Fapp-name-error.log\ntail -f ~\u002F.pm2\u002Flogs\u002Fapp-name-out.log\n\n# Clear logs and restart\nskyport pm2 flush\nskyport pm2 restart app-name\n",[231,1129,1130,1135,1145,1149,1154,1165,1174,1178,1183,1192],{"__ignoreMap":247},[251,1131,1132],{"class":253,"line":254},[251,1133,1134],{"class":257},"# Check log file location\n",[251,1136,1137,1139,1141,1143],{"class":253,"line":261},[251,1138,233],{"class":405},[251,1140,1065],{"class":268},[251,1142,1068],{"class":268},[251,1144,1071],{"class":268},[251,1146,1147],{"class":253,"line":272},[251,1148,276],{"emptyLinePlaceholder":275},[251,1150,1151],{"class":253,"line":279},[251,1152,1153],{"class":257},"# View log files directly\n",[251,1155,1156,1159,1162],{"class":253,"line":285},[251,1157,1158],{"class":405},"tail",[251,1160,1161],{"class":268}," -f",[251,1163,1164],{"class":268}," ~\u002F.pm2\u002Flogs\u002Fapp-name-error.log\n",[251,1166,1167,1169,1171],{"class":253,"line":312},[251,1168,1158],{"class":405},[251,1170,1161],{"class":268},[251,1172,1173],{"class":268}," ~\u002F.pm2\u002Flogs\u002Fapp-name-out.log\n",[251,1175,1176],{"class":253,"line":317},[251,1177,276],{"emptyLinePlaceholder":275},[251,1179,1180],{"class":253,"line":323},[251,1181,1182],{"class":257},"# Clear logs and restart\n",[251,1184,1185,1187,1189],{"class":253,"line":344},[251,1186,233],{"class":405},[251,1188,1065],{"class":268},[251,1190,1191],{"class":268}," flush\n",[251,1193,1194,1196,1198,1200],{"class":253,"line":551},[251,1195,233],{"class":405},[251,1197,1065],{"class":268},[251,1199,868],{"class":268},[251,1201,1071],{"class":268},[214,1203,1205],{"id":1204},"network-issues","Network Issues",[219,1207,1209],{"id":1208},"cannot-access-dashboard","Cannot Access Dashboard",[210,1211,1212,1214,1215],{},[226,1213,228],{},": Cannot access ",[1216,1217,1218],"a",{"href":1218,"rel":1219},"http:\u002F\u002Flocalhost:8080",[1220],"nofollow",[210,1222,1223,240],{},[226,1224,239],{},[242,1226,1228],{"className":244,"code":1227,"language":246,"meta":247,"style":247},"# Verify SkyPort is running\nps aux | grep skyport\n\n# Check if port is listening\nnetstat -tuln | grep 8080  # Linux\u002FmacOS\nnetstat -ano | findstr :8080  # Windows\n\n# Check firewall\nsudo ufw status  # Linux\n\n# Verify with curl\ncurl http:\u002F\u002Flocalhost:8080\n",[231,1229,1230,1235,1250,1254,1259,1275,1289,1293,1298,1310,1314,1319],{"__ignoreMap":247},[251,1231,1232],{"class":253,"line":254},[251,1233,1234],{"class":257},"# Verify SkyPort is running\n",[251,1236,1237,1240,1243,1245,1248],{"class":253,"line":261},[251,1238,1239],{"class":405},"ps",[251,1241,1242],{"class":268}," aux",[251,1244,509],{"class":296},[251,1246,1247],{"class":405}," grep",[251,1249,269],{"class":268},[251,1251,1252],{"class":253,"line":272},[251,1253,276],{"emptyLinePlaceholder":275},[251,1255,1256],{"class":253,"line":279},[251,1257,1258],{"class":257},"# Check if port is listening\n",[251,1260,1261,1263,1266,1268,1270,1273],{"class":253,"line":285},[251,1262,503],{"class":405},[251,1264,1265],{"class":268}," -tuln",[251,1267,509],{"class":296},[251,1269,1247],{"class":405},[251,1271,1272],{"class":474}," 8080",[251,1274,498],{"class":257},[251,1276,1277,1279,1281,1283,1285,1287],{"class":253,"line":312},[251,1278,503],{"class":405},[251,1280,506],{"class":268},[251,1282,509],{"class":296},[251,1284,512],{"class":405},[251,1286,495],{"class":268},[251,1288,517],{"class":257},[251,1290,1291],{"class":253,"line":317},[251,1292,276],{"emptyLinePlaceholder":275},[251,1294,1295],{"class":253,"line":323},[251,1296,1297],{"class":257},"# Check firewall\n",[251,1299,1300,1302,1305,1308],{"class":253,"line":344},[251,1301,704],{"class":405},[251,1303,1304],{"class":268}," ufw",[251,1306,1307],{"class":268}," status",[251,1309,825],{"class":257},[251,1311,1312],{"class":253,"line":551},[251,1313,276],{"emptyLinePlaceholder":275},[251,1315,1316],{"class":253,"line":952},[251,1317,1318],{"class":257},"# Verify with curl\n",[251,1320,1322,1325],{"class":253,"line":1321},12,[251,1323,1324],{"class":405},"curl",[251,1326,1327],{"class":268}," http:\u002F\u002Flocalhost:8080\n",[219,1329,1331],{"id":1330},"reverse-proxy-not-working","Reverse Proxy Not Working",[210,1333,1334,1336],{},[226,1335,228],{},": Custom domain not routing to application",[210,1338,1339,240],{},[226,1340,239],{},[242,1342,1344],{"className":244,"code":1343,"language":246,"meta":247,"style":247},"# Check reverse proxy configuration\nskyport proxy list\n\n# Verify DNS is pointing to SkyPort\nnslookup yourdomain.com\n\n# Test proxy routing\ncurl -H \"Host: yourdomain.com\" http:\u002F\u002Flocalhost\n\n# Check Caddy logs\nskyport logs caddy -f\n",[231,1345,1346,1351,1360,1364,1369,1376,1380,1385,1403,1407,1412],{"__ignoreMap":247},[251,1347,1348],{"class":253,"line":254},[251,1349,1350],{"class":257},"# Check reverse proxy configuration\n",[251,1352,1353,1355,1358],{"class":253,"line":261},[251,1354,233],{"class":405},[251,1356,1357],{"class":268}," proxy",[251,1359,1019],{"class":268},[251,1361,1362],{"class":253,"line":272},[251,1363,276],{"emptyLinePlaceholder":275},[251,1365,1366],{"class":253,"line":279},[251,1367,1368],{"class":257},"# Verify DNS is pointing to SkyPort\n",[251,1370,1371,1373],{"class":253,"line":285},[251,1372,917],{"class":405},[251,1374,1375],{"class":268}," yourdomain.com\n",[251,1377,1378],{"class":253,"line":312},[251,1379,276],{"emptyLinePlaceholder":275},[251,1381,1382],{"class":253,"line":317},[251,1383,1384],{"class":257},"# Test proxy routing\n",[251,1386,1387,1389,1392,1395,1398,1400],{"class":253,"line":323},[251,1388,1324],{"class":405},[251,1390,1391],{"class":268}," -H",[251,1393,1394],{"class":296}," \"",[251,1396,1397],{"class":268},"Host: yourdomain.com",[251,1399,300],{"class":296},[251,1401,1402],{"class":268}," http:\u002F\u002Flocalhost\n",[251,1404,1405],{"class":253,"line":344},[251,1406,276],{"emptyLinePlaceholder":275},[251,1408,1409],{"class":253,"line":551},[251,1410,1411],{"class":257},"# Check Caddy logs\n",[251,1413,1414,1416,1418,1421],{"class":253,"line":952},[251,1415,233],{"class":405},[251,1417,1089],{"class":268},[251,1419,1420],{"class":268}," caddy",[251,1422,1423],{"class":268}," -f\n",[219,1425,1427],{"id":1426},"cannot-reach-remote-skyport","Cannot Reach Remote SkyPort",[210,1429,1430,1432],{},[226,1431,228],{},": Cannot access SkyPort dashboard from another machine",[210,1434,1435,240],{},[226,1436,239],{},[655,1438,1439,1442,1448,1455],{},[359,1440,1441],{},"Verify firewall allows port 8080",[359,1443,1444,1445],{},"Use the server's IP address: ",[231,1446,1447],{},"http:\u002F\u002Fserver-ip:8080",[359,1449,1450,1451,1454],{},"Don't use ",[231,1452,1453],{},"localhost"," from a remote machine",[359,1456,1457,1458,240],{},"Check if SkyPort is bound to ",[231,1459,1460],{},"0.0.0.0",[242,1462,1464],{"className":244,"code":1463,"language":246,"meta":247,"style":247},"netstat -tuln | grep 8080\n",[231,1465,1466],{"__ignoreMap":247},[251,1467,1468,1470,1472,1474,1476],{"class":253,"line":254},[251,1469,503],{"class":405},[251,1471,1265],{"class":268},[251,1473,509],{"class":296},[251,1475,1247],{"class":405},[251,1477,1478],{"class":474}," 8080\n",[214,1480,1482],{"id":1481},"performance-issues","Performance Issues",[219,1484,1486],{"id":1485},"high-cpu-usage","High CPU Usage",[210,1488,1489,1491],{},[226,1490,228],{},": SkyPort or applications consuming too much CPU",[210,1493,1494,240],{},[226,1495,239],{},[242,1497,1499],{"className":244,"code":1498,"language":246,"meta":247,"style":247},"# Check CPU usage\nskyport metrics cpu\n\n# Identify heavy processes\ntop  # Linux\u002FmacOS\ntasklist  # Windows\n\n# Limit container CPU\nskyport docker update --cpus 1 container-name\n\n# Check for infinite loops or bugs in application\nskyport docker logs container-name\n",[231,1500,1501,1506,1516,1520,1525,1532,1539,1543,1548,1566,1570,1575],{"__ignoreMap":247},[251,1502,1503],{"class":253,"line":254},[251,1504,1505],{"class":257},"# Check CPU usage\n",[251,1507,1508,1510,1513],{"class":253,"line":261},[251,1509,233],{"class":405},[251,1511,1512],{"class":268}," metrics",[251,1514,1515],{"class":268}," cpu\n",[251,1517,1518],{"class":253,"line":272},[251,1519,276],{"emptyLinePlaceholder":275},[251,1521,1522],{"class":253,"line":279},[251,1523,1524],{"class":257},"# Identify heavy processes\n",[251,1526,1527,1530],{"class":253,"line":285},[251,1528,1529],{"class":405},"top",[251,1531,498],{"class":257},[251,1533,1534,1537],{"class":253,"line":312},[251,1535,1536],{"class":405},"tasklist",[251,1538,517],{"class":257},[251,1540,1541],{"class":253,"line":317},[251,1542,276],{"emptyLinePlaceholder":275},[251,1544,1545],{"class":253,"line":323},[251,1546,1547],{"class":257},"# Limit container CPU\n",[251,1549,1550,1552,1554,1557,1560,1563],{"class":253,"line":344},[251,1551,233],{"class":405},[251,1553,713],{"class":268},[251,1555,1556],{"class":268}," update",[251,1558,1559],{"class":268}," --cpus",[251,1561,1562],{"class":474}," 1",[251,1564,1565],{"class":268}," container-name\n",[251,1567,1568],{"class":253,"line":551},[251,1569,276],{"emptyLinePlaceholder":275},[251,1571,1572],{"class":253,"line":952},[251,1573,1574],{"class":257},"# Check for infinite loops or bugs in application\n",[251,1576,1577,1579,1581,1583],{"class":253,"line":1321},[251,1578,233],{"class":405},[251,1580,713],{"class":268},[251,1582,1089],{"class":268},[251,1584,1565],{"class":268},[219,1586,1588],{"id":1587},"out-of-memory","Out of Memory",[210,1590,1591,1593],{},[226,1592,228],{},": Applications killed due to OOM",[210,1595,1596,240],{},[226,1597,239],{},[242,1599,1601],{"className":244,"code":1600,"language":246,"meta":247,"style":247},"# Check memory usage\nskyport metrics memory\n\n# View container memory limits\nskyport docker inspect container-name | grep Memory\n\n# Increase memory limit\nskyport docker update --memory 2g container-name\n\n# Add swap (if on Linux)\nsudo fallocate -l 2G \u002Fswapfile\nsudo chmod 600 \u002Fswapfile\nsudo mkswap \u002Fswapfile\nsudo swapon \u002Fswapfile\n",[231,1602,1603,1608,1617,1621,1626,1645,1649,1654,1670,1674,1679,1695,1707,1717],{"__ignoreMap":247},[251,1604,1605],{"class":253,"line":254},[251,1606,1607],{"class":257},"# Check memory usage\n",[251,1609,1610,1612,1614],{"class":253,"line":261},[251,1611,233],{"class":405},[251,1613,1512],{"class":268},[251,1615,1616],{"class":268}," memory\n",[251,1618,1619],{"class":253,"line":272},[251,1620,276],{"emptyLinePlaceholder":275},[251,1622,1623],{"class":253,"line":279},[251,1624,1625],{"class":257},"# View container memory limits\n",[251,1627,1628,1630,1632,1635,1638,1640,1642],{"class":253,"line":285},[251,1629,233],{"class":405},[251,1631,713],{"class":268},[251,1633,1634],{"class":268}," inspect",[251,1636,1637],{"class":268}," container-name",[251,1639,509],{"class":296},[251,1641,1247],{"class":405},[251,1643,1644],{"class":268}," Memory\n",[251,1646,1647],{"class":253,"line":312},[251,1648,276],{"emptyLinePlaceholder":275},[251,1650,1651],{"class":253,"line":317},[251,1652,1653],{"class":257},"# Increase memory limit\n",[251,1655,1656,1658,1660,1662,1665,1668],{"class":253,"line":323},[251,1657,233],{"class":405},[251,1659,713],{"class":268},[251,1661,1556],{"class":268},[251,1663,1664],{"class":268}," --memory",[251,1666,1667],{"class":268}," 2g",[251,1669,1565],{"class":268},[251,1671,1672],{"class":253,"line":344},[251,1673,276],{"emptyLinePlaceholder":275},[251,1675,1676],{"class":253,"line":551},[251,1677,1678],{"class":257},"# Add swap (if on Linux)\n",[251,1680,1681,1683,1686,1689,1692],{"class":253,"line":952},[251,1682,704],{"class":405},[251,1684,1685],{"class":268}," fallocate",[251,1687,1688],{"class":268}," -l",[251,1690,1691],{"class":268}," 2G",[251,1693,1694],{"class":268}," \u002Fswapfile\n",[251,1696,1697,1699,1702,1705],{"class":253,"line":1321},[251,1698,704],{"class":405},[251,1700,1701],{"class":268}," chmod",[251,1703,1704],{"class":474}," 600",[251,1706,1694],{"class":268},[251,1708,1710,1712,1715],{"class":253,"line":1709},13,[251,1711,704],{"class":405},[251,1713,1714],{"class":268}," mkswap",[251,1716,1694],{"class":268},[251,1718,1720,1722,1725],{"class":253,"line":1719},14,[251,1721,704],{"class":405},[251,1723,1724],{"class":268}," swapon",[251,1726,1694],{"class":268},[219,1728,1730],{"id":1729},"slow-response-times","Slow Response Times",[210,1732,1733,1735],{},[226,1734,228],{},": Dashboard or applications responding slowly",[210,1737,1738,240],{},[226,1739,239],{},[242,1741,1743],{"className":244,"code":1742,"language":246,"meta":247,"style":247},"# Check system resources\nskyport system info\n\n# Check disk I\u002FO\niostat -x 1  # Linux\n\n# Check network latency\nping 8.8.8.8\n\n# Reduce number of running applications\nskyport docker ps\n",[231,1744,1745,1750,1760,1764,1769,1781,1785,1790,1797,1801,1806],{"__ignoreMap":247},[251,1746,1747],{"class":253,"line":254},[251,1748,1749],{"class":257},"# Check system resources\n",[251,1751,1752,1754,1757],{"class":253,"line":261},[251,1753,233],{"class":405},[251,1755,1756],{"class":268}," system",[251,1758,1759],{"class":268}," info\n",[251,1761,1762],{"class":253,"line":272},[251,1763,276],{"emptyLinePlaceholder":275},[251,1765,1766],{"class":253,"line":279},[251,1767,1768],{"class":257},"# Check disk I\u002FO\n",[251,1770,1771,1774,1777,1779],{"class":253,"line":285},[251,1772,1773],{"class":405},"iostat",[251,1775,1776],{"class":268}," -x",[251,1778,1562],{"class":474},[251,1780,825],{"class":257},[251,1782,1783],{"class":253,"line":312},[251,1784,276],{"emptyLinePlaceholder":275},[251,1786,1787],{"class":253,"line":317},[251,1788,1789],{"class":257},"# Check network latency\n",[251,1791,1792,1794],{"class":253,"line":323},[251,1793,900],{"class":405},[251,1795,1796],{"class":474}," 8.8.8.8\n",[251,1798,1799],{"class":253,"line":344},[251,1800,276],{"emptyLinePlaceholder":275},[251,1802,1803],{"class":253,"line":551},[251,1804,1805],{"class":257},"# Reduce number of running applications\n",[251,1807,1808,1810,1812],{"class":253,"line":952},[251,1809,233],{"class":405},[251,1811,713],{"class":268},[251,1813,741],{"class":268},[214,1815,1817],{"id":1816},"data-persistence-issues","Data Persistence Issues",[219,1819,1821],{"id":1820},"volumes-not-persisting-data","Volumes Not Persisting Data",[210,1823,1824,1826],{},[226,1825,228],{},": Container data is lost after restart",[210,1828,1829,240],{},[226,1830,239],{},[242,1832,1834],{"className":244,"code":1833,"language":246,"meta":247,"style":247},"# Always mount volumes\nskyport docker run -d -v data-volume:\u002Fapp\u002Fdata my-app\n\n# Verify volume exists\nskyport docker volume ls\n\n# Check volume mount in container\nskyport docker inspect container-name | grep Mounts\n",[231,1835,1836,1841,1862,1866,1871,1883,1887,1892],{"__ignoreMap":247},[251,1837,1838],{"class":253,"line":254},[251,1839,1840],{"class":257},"# Always mount volumes\n",[251,1842,1843,1845,1847,1850,1853,1856,1859],{"class":253,"line":261},[251,1844,233],{"class":405},[251,1846,713],{"class":268},[251,1848,1849],{"class":268}," run",[251,1851,1852],{"class":268}," -d",[251,1854,1855],{"class":268}," -v",[251,1857,1858],{"class":268}," data-volume:\u002Fapp\u002Fdata",[251,1860,1861],{"class":268}," my-app\n",[251,1863,1864],{"class":253,"line":272},[251,1865,276],{"emptyLinePlaceholder":275},[251,1867,1868],{"class":253,"line":279},[251,1869,1870],{"class":257},"# Verify volume exists\n",[251,1872,1873,1875,1877,1880],{"class":253,"line":285},[251,1874,233],{"class":405},[251,1876,713],{"class":268},[251,1878,1879],{"class":268}," volume",[251,1881,1882],{"class":268}," ls\n",[251,1884,1885],{"class":253,"line":312},[251,1886,276],{"emptyLinePlaceholder":275},[251,1888,1889],{"class":253,"line":317},[251,1890,1891],{"class":257},"# Check volume mount in container\n",[251,1893,1894,1896,1898,1900,1902,1904,1906],{"class":253,"line":323},[251,1895,233],{"class":405},[251,1897,713],{"class":268},[251,1899,1634],{"class":268},[251,1901,1637],{"class":268},[251,1903,509],{"class":296},[251,1905,1247],{"class":405},[251,1907,1908],{"class":268}," Mounts\n",[219,1910,1912],{"id":1911},"cannot-access-configuration-files","Cannot Access Configuration Files",[210,1914,1915,1917,1918,1921],{},[226,1916,228],{},": Configuration stored in ",[231,1919,1920],{},"\u002Froot\u002F.skyport"," is not accessible",[210,1923,1924,240],{},[226,1925,239],{},[242,1927,1929],{"className":244,"code":1928,"language":246,"meta":247,"style":247},"# Check directory permissions\nls -la ~\u002F.skyport\n\n# Change permissions if needed\nchmod 755 ~\u002F.skyport\n\n# Backup configuration\ncp -r ~\u002F.skyport ~\u002F.skyport.backup\n",[231,1930,1931,1936,1945,1949,1954,1963,1967,1972],{"__ignoreMap":247},[251,1932,1933],{"class":253,"line":254},[251,1934,1935],{"class":257},"# Check directory permissions\n",[251,1937,1938,1940,1942],{"class":253,"line":261},[251,1939,426],{"class":405},[251,1941,429],{"class":268},[251,1943,1944],{"class":268}," ~\u002F.skyport\n",[251,1946,1947],{"class":253,"line":272},[251,1948,276],{"emptyLinePlaceholder":275},[251,1950,1951],{"class":253,"line":279},[251,1952,1953],{"class":257},"# Change permissions if needed\n",[251,1955,1956,1958,1961],{"class":253,"line":285},[251,1957,406],{"class":405},[251,1959,1960],{"class":474}," 755",[251,1962,1944],{"class":268},[251,1964,1965],{"class":253,"line":312},[251,1966,276],{"emptyLinePlaceholder":275},[251,1968,1969],{"class":253,"line":317},[251,1970,1971],{"class":257},"# Backup configuration\n",[251,1973,1974,1977,1980,1983],{"class":253,"line":323},[251,1975,1976],{"class":405},"cp",[251,1978,1979],{"class":268}," -r",[251,1981,1982],{"class":268}," ~\u002F.skyport",[251,1984,1985],{"class":268}," ~\u002F.skyport.backup\n",[214,1987,1989],{"id":1988},"getting-more-help","Getting More Help",[356,1991,1992,1999,2007,2013],{},[359,1993,1994,1995,1998],{},"Check ",[1216,1996,1997],{"href":65},"logs"," for detailed error messages",[359,2000,2001,2002],{},"Visit ",[1216,2003,2006],{"href":2004,"rel":2005},"https:\u002F\u002Fgithub.com\u002FNil369\u002FSkyPort\u002Fissues",[1220],"GitHub Issues",[359,2008,2009,2010],{},"Read ",[1216,2011,2012],{"href":172},"Architecture Guide",[359,2014,1994,2015],{},[1216,2016,175],{"href":176},[2018,2019],"hr",{},[210,2021,2022,2025],{},[226,2023,2024],{},"Still stuck?"," Open an issue on GitHub with detailed logs and error messages.",[2027,2028,2029],"style",{},"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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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 .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":247,"searchDepth":261,"depth":261,"links":2031},[2032,2036,2041,2046,2051,2056,2061,2065],{"id":216,"depth":261,"text":217,"children":2033},[2034,2035],{"id":221,"depth":272,"text":222},{"id":374,"depth":272,"text":375},{"id":434,"depth":261,"text":435,"children":2037},[2038,2039,2040],{"id":438,"depth":272,"text":439},{"id":573,"depth":272,"text":574},{"id":643,"depth":272,"text":644},{"id":674,"depth":261,"text":675,"children":2042},[2043,2044,2045],{"id":678,"depth":272,"text":679},{"id":791,"depth":272,"text":792},{"id":875,"depth":272,"text":876},{"id":958,"depth":261,"text":959,"children":2047},[2048,2049,2050],{"id":962,"depth":272,"text":963},{"id":1022,"depth":272,"text":1023},{"id":1114,"depth":272,"text":1115},{"id":1204,"depth":261,"text":1205,"children":2052},[2053,2054,2055],{"id":1208,"depth":272,"text":1209},{"id":1330,"depth":272,"text":1331},{"id":1426,"depth":272,"text":1427},{"id":1481,"depth":261,"text":1482,"children":2057},[2058,2059,2060],{"id":1485,"depth":272,"text":1486},{"id":1587,"depth":272,"text":1588},{"id":1729,"depth":272,"text":1730},{"id":1816,"depth":261,"text":1817,"children":2062},[2063,2064],{"id":1820,"depth":272,"text":1821},{"id":1911,"depth":272,"text":1912},{"id":1988,"depth":261,"text":1989},"Common issues and solutions for SkyPort","md",null,{},{"icon":39},{"title":36,"description":2066},"zPe6TRtgG_9NouhQMjaZYNIRcsJ5T0-rhjXKr8BzEmo",[2074,2076],{"title":31,"path":32,"stem":33,"description":2075,"icon":34,"children":-1},"Deploy your first application with SkyPort",{"title":44,"path":45,"stem":46,"description":2077,"children":-1},"The SkyPort web dashboard overview",1778858460542]