[{"data":1,"prerenderedAt":376},["ShallowReactive",2],{"navigation_docs":3,"-docs-installation-09-scheduler-queue":71,"-docs-installation-09-scheduler-queue-surround":371},[4,9],{"title":5,"path":6,"stem":7,"icon":8},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002FGetting Started","i-lucide-alert-triangle",{"title":10,"path":11,"stem":12,"children":13,"icon":15},"Installation","\u002Fdocs\u002Finstallation","docs\u002Finstallation\u002Findex",[14,16,21,26,31,36,41,46,51,56,61,66],{"title":10,"path":11,"stem":12,"icon":15},"i-lucide-server",{"title":17,"path":18,"stem":19,"icon":20},"Requirements","\u002Fdocs\u002Finstallation\u002F02-requirements","docs\u002Finstallation\u002F02-requirements","i-lucide-list-checks",{"title":22,"path":23,"stem":24,"icon":25},"Install Dependencies","\u002Fdocs\u002Finstallation\u002F03-install-dependencies","docs\u002Finstallation\u002F03-install-dependencies","i-lucide-package",{"title":27,"path":28,"stem":29,"icon":30},"Download Southactyl","\u002Fdocs\u002Finstallation\u002F04-download-southactyl","docs\u002Finstallation\u002F04-download-southactyl","i-lucide-download",{"title":32,"path":33,"stem":34,"icon":35},"Create the Database","\u002Fdocs\u002Finstallation\u002F05-database","docs\u002Finstallation\u002F05-database","i-lucide-database",{"title":37,"path":38,"stem":39,"icon":40},"Configure the Application","\u002Fdocs\u002Finstallation\u002F06-application-config","docs\u002Finstallation\u002F06-application-config","i-lucide-settings",{"title":42,"path":43,"stem":44,"icon":45},"Migrations and Admin User","\u002Fdocs\u002Finstallation\u002F07-migrations-admin","docs\u002Finstallation\u002F07-migrations-admin","i-lucide-user-plus",{"title":47,"path":48,"stem":49,"icon":50},"File Permissions","\u002Fdocs\u002Finstallation\u002F08-permissions","docs\u002Finstallation\u002F08-permissions","i-lucide-lock-keyhole",{"title":52,"path":53,"stem":54,"icon":55},"Scheduler and Queue Worker","\u002Fdocs\u002Finstallation\u002F09-scheduler-queue","docs\u002Finstallation\u002F09-scheduler-queue","i-lucide-timer",{"title":57,"path":58,"stem":59,"icon":60},"NGINX and HTTPS","\u002Fdocs\u002Finstallation\u002F10-nginx-https","docs\u002Finstallation\u002F10-nginx-https","i-lucide-shield-check",{"title":62,"path":63,"stem":64,"icon":65},"Verify and Troubleshoot","\u002Fdocs\u002Finstallation\u002F11-verify-troubleshoot","docs\u002Finstallation\u002F11-verify-troubleshoot","i-lucide-stethoscope",{"title":67,"path":68,"stem":69,"icon":70},"Migrate from Pterodactyl","\u002Fdocs\u002Finstallation\u002F12-migrate-from-pterodactyl","docs\u002Finstallation\u002F12-migrate-from-pterodactyl","i-lucide-git-compare-arrows",{"id":72,"title":52,"body":73,"description":362,"extension":363,"links":364,"meta":365,"navigation":366,"path":53,"seo":367,"stem":54,"__hash__":370},"docs\u002Fdocs\u002Finstallation\u002F09-scheduler-queue.md",{"type":74,"value":75,"toc":356},"minimark",[76,81,85,90,93,117,120,132,136,139,152,155,252,259,268,283,287,322,326,352],[77,78,80],"h1",{"id":79},"scheduler-and-queue-worker","Scheduler and queue worker",[82,83,84],"p",{},"Southactyl relies on scheduled tasks and queue workers. Skipping these is how you get a panel that looks installed but behaves broken.",[86,87,89],"h2",{"id":88},"configure-the-scheduler","Configure the scheduler",[82,91,92],{},"Open root's crontab:",[94,95,101],"pre",{"className":96,"code":97,"filename":98,"language":99,"meta":100,"style":100},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","crontab -e\n","Terminal","bash","",[102,103,104],"code",{"__ignoreMap":100},[105,106,109,113],"span",{"class":107,"line":108},"line",1,[105,110,112],{"class":111},"sBMFI","crontab",[105,114,116],{"class":115},"sfazB"," -e\n",[82,118,119],{},"Add this line:",[94,121,126],{"className":122,"code":123,"filename":124,"language":125,"meta":100,"style":100},"language-cron shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","* * * * * php \u002Fvar\u002Fwww\u002Fsouthactyl\u002Fartisan schedule:run >> \u002Fdev\u002Fnull 2>&1\n","Cron","cron",[102,127,128],{"__ignoreMap":100},[105,129,130],{"class":107,"line":108},[105,131,123],{},[86,133,135],{"id":134},"configure-the-queue-worker","Configure the queue worker",[82,137,138],{},"Create the service file:",[94,140,142],{"className":96,"code":141,"filename":98,"language":99,"meta":100,"style":100},"nano \u002Fetc\u002Fsystemd\u002Fsystem\u002Fsouthactyl-queue.service\n",[102,143,144],{"__ignoreMap":100},[105,145,146,149],{"class":107,"line":108},[105,147,148],{"class":111},"nano",[105,150,151],{"class":115}," \u002Fetc\u002Fsystemd\u002Fsystem\u002Fsouthactyl-queue.service\n",[82,153,154],{},"Paste:",[94,156,161],{"className":157,"code":158,"filename":159,"language":160,"meta":100,"style":100},"language-ini shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[Unit]\nDescription=Southactyl Queue Worker\nAfter=redis-server.service\n\n[Service]\nUser=www-data\nGroup=www-data\nRestart=always\nExecStart=\u002Fusr\u002Fbin\u002Fphp \u002Fvar\u002Fwww\u002Fsouthactyl\u002Fartisan queue:work --queue=high,standard,low --sleep=3 --tries=3\nStartLimitInterval=180\nStartLimitBurst=30\nRestartSec=5s\n\n[Install]\nWantedBy=multi-user.target\n","\u002Fetc\u002Fsystemd\u002Fsystem\u002Fsouthactyl-queue.service","ini",[102,162,163,168,174,180,187,193,199,205,211,217,223,229,235,240,246],{"__ignoreMap":100},[105,164,165],{"class":107,"line":108},[105,166,167],{},"[Unit]\n",[105,169,171],{"class":107,"line":170},2,[105,172,173],{},"Description=Southactyl Queue Worker\n",[105,175,177],{"class":107,"line":176},3,[105,178,179],{},"After=redis-server.service\n",[105,181,183],{"class":107,"line":182},4,[105,184,186],{"emptyLinePlaceholder":185},true,"\n",[105,188,190],{"class":107,"line":189},5,[105,191,192],{},"[Service]\n",[105,194,196],{"class":107,"line":195},6,[105,197,198],{},"User=www-data\n",[105,200,202],{"class":107,"line":201},7,[105,203,204],{},"Group=www-data\n",[105,206,208],{"class":107,"line":207},8,[105,209,210],{},"Restart=always\n",[105,212,214],{"class":107,"line":213},9,[105,215,216],{},"ExecStart=\u002Fusr\u002Fbin\u002Fphp \u002Fvar\u002Fwww\u002Fsouthactyl\u002Fartisan queue:work --queue=high,standard,low --sleep=3 --tries=3\n",[105,218,220],{"class":107,"line":219},10,[105,221,222],{},"StartLimitInterval=180\n",[105,224,226],{"class":107,"line":225},11,[105,227,228],{},"StartLimitBurst=30\n",[105,230,232],{"class":107,"line":231},12,[105,233,234],{},"RestartSec=5s\n",[105,236,238],{"class":107,"line":237},13,[105,239,186],{"emptyLinePlaceholder":185},[105,241,243],{"class":107,"line":242},14,[105,244,245],{},"[Install]\n",[105,247,249],{"class":107,"line":248},15,[105,250,251],{},"WantedBy=multi-user.target\n",[82,253,254,255,258],{},"For Rocky, AlmaLinux, or RHEL, Redis may use ",[102,256,257],{},"redis.service"," instead:",[94,260,262],{"className":157,"code":261,"language":160,"meta":100,"style":100},"After=redis.service\n",[102,263,264],{"__ignoreMap":100},[105,265,266],{"class":107,"line":108},[105,267,261],{},[82,269,270,271,274,275,278,279,282],{},"Also change ",[102,272,273],{},"User"," and ",[102,276,277],{},"Group"," if your web server user is not ",[102,280,281],{},"www-data",".",[86,284,286],{"id":285},"enable-the-queue-worker","Enable the queue worker",[94,288,290],{"className":96,"code":289,"filename":98,"language":99,"meta":100,"style":100},"systemctl daemon-reload\nsystemctl enable --now southactyl-queue.service\nsystemctl status southactyl-queue.service\n",[102,291,292,300,313],{"__ignoreMap":100},[105,293,294,297],{"class":107,"line":108},[105,295,296],{"class":111},"systemctl",[105,298,299],{"class":115}," daemon-reload\n",[105,301,302,304,307,310],{"class":107,"line":170},[105,303,296],{"class":111},[105,305,306],{"class":115}," enable",[105,308,309],{"class":115}," --now",[105,311,312],{"class":115}," southactyl-queue.service\n",[105,314,315,317,320],{"class":107,"line":176},[105,316,296],{"class":111},[105,318,319],{"class":115}," status",[105,321,312],{"class":115},[86,323,325],{"id":324},"view-queue-logs","View queue logs",[94,327,329],{"className":96,"code":328,"filename":98,"language":99,"meta":100,"style":100},"journalctl -u southactyl-queue.service -n 100 --no-pager\n",[102,330,331],{"__ignoreMap":100},[105,332,333,336,339,342,345,349],{"class":107,"line":108},[105,334,335],{"class":111},"journalctl",[105,337,338],{"class":115}," -u",[105,340,341],{"class":115}," southactyl-queue.service",[105,343,344],{"class":115}," -n",[105,346,348],{"class":347},"sbssI"," 100",[105,350,351],{"class":115}," --no-pager\n",[353,354,355],"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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":100,"searchDepth":170,"depth":170,"links":357},[358,359,360,361],{"id":88,"depth":170,"text":89},{"id":134,"depth":170,"text":135},{"id":285,"depth":170,"text":286},{"id":324,"depth":170,"text":325},"Configure cron and systemd queue worker for Southactyl.","md",null,{},{"icon":55},{"title":368,"description":369},"Southactyl Scheduler and Queue Worker","Configure the Laravel scheduler and queue worker for Southactyl.","ZT7LaQPvEWduvQV27xxzFm4Prv_hn1adv4_Ng6bekwE",[372,374],{"title":47,"path":48,"stem":49,"description":373,"icon":50,"children":-1},"Set correct ownership for the Southactyl panel files.",{"title":57,"path":58,"stem":59,"description":375,"icon":60,"children":-1},"Configure TLS and NGINX for the Southactyl panel.",1777300575488]