Your AI SaaS business, ready by this week!
TryΒ demoPublished Oct 27, 2026 β¦ 9 min read
Install Aikeedo on a VPS: server requirements, the web installer, cron, v5.2 queue workers with Supervisor or systemd, SSL and updates.
Aikeedo runs on a lot of hosting, from shared cPanel accounts to cloud servers. For a platform you plan to sell, a VPS is the setup we recommend: you control the PHP version and configuration, you can keep a background worker running, and streaming replies work without a hosting stack getting in the way.
This guide covers an Aikeedo installation on a VPS from start to finish: what the server needs, the web installer, the cron entry, the background queue workers added in v5.2, SSL, and how updates work. It explains each step and links to docs.aikeedo.com for the exact, current commands where they depend on your server.
If you are on cPanel, follow the dedicated cPanel installation guide instead. The steps differ.
The full list lives on the server requirements page. The short version:
file_uploads must be on. Raise post_max_size and upload_max_filesize well above the defaults so users can attach files; the installer suggests 128M or more.var/ and the public directory are writable by the web server.For sizing, the docs suggest at least 2 GB of RAM and 2 vCPUs. The Aikeedo demo runs on a VPS with 4 GB and 2 vCPUs. Start small and resize as you grow; the AI work itself happens at your providers, so the server mostly serves pages, streams replies and runs jobs.
One hosting note from the docs: text streaming does not work on Cloudways, because of how its server stack is set up. Choose another host if streaming matters to you.
The installation guide has the details. In outline:
aikeedo-server-files.zip from your Aikeedo package to the server, outside any web-accessible folder, and extract it, for example into /var/www/yourdomain.com.public directory inside the extracted files, for example /var/www/yourdomain.com/public. This is the step people most often get wrong. The rest of the application must not be web-accessible, and the public directory has to stay where it is./install. A 403 error here almost always means the document root is not pointing at public.The web installer then walks you through these steps:
When it finishes, the installer switches the app to production mode with debugging off, and you can sign in to the dashboard.
Aikeedo needs a cron task that runs cron.php every minute. It renews subscription credits, keeps connectors' tool lists fresh, runs the scheduled tasks you can see in the admin, and, if you have no background worker yet, works through the job queue.
Run it as the same user as your web server, usually www-data on Ubuntu and Debian. If cron runs as root, it can create cache files the web server cannot change later, which shows up as cache clearing failing on the admin Status page.
Edit that user's crontab:
sudo crontab -u www-data -eAnd add one line, with your PHP binary and your application root:
* * * * * /usr/bin/php /var/www/yourdomain.com/cron.phpUse the full path to the PHP binary your site runs on. If the server has more than one PHP version, plain php might not be it. The initial setup guide covers finding the web server user and fixing ownership if something went wrong.
v5.2 adds a background job queue. Work that should not hold up a page, such as chat imports, invoices, purchase confirmation emails and connector refreshes, moves off the web request and into jobs, and the admin gets a view of all of it under Settings β Queue: an overview of waiting, running and failed jobs, a Workers list, a searchable Jobs page where you can retry or delete failed jobs, and the scheduled tasks that cron runs.
By default the queue uses the Database adapter, which works on any server, including shared hosting. Plugins can add other adapters, such as Redis, Amazon SQS, Azure and Cloudflare, under Settings β Queue adapters.
Without a worker, jobs run each time cron runs, so they may wait up to a minute. On a VPS you can do better: keep a worker process running so each job starts as soon as it is added. The worker is a console command:
php bin/console app:queue:work --time-limit=3600You do not run it by hand. A process manager such as Supervisor or systemd keeps it running, starts it on boot, and restarts it if it stops. You only need one of them. As with cron, run the worker as your web server user.
The Run a background worker section of the Queue page prints ready-made configurations with your server's PHP path, application root and web server user already filled in, so copy them from there. For reference, a Supervisor configuration saved as /etc/supervisor/conf.d/aikeedo-worker.conf looks like this:
[program:aikeedo-worker]
command=/usr/bin/php /var/www/yourdomain.com/bin/console app:queue:work --time-limit=3600
directory=/var/www/yourdomain.com
user=www-data
numprocs=1
autostart=true
autorestart=true
stopwaitsecs=660
redirect_stderr=true
stdout_logfile=/var/www/yourdomain.com/var/log/worker.logThen load it and check it:
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl status aikeedo-workerIf you prefer systemd, which is built into most distributions, the Queue page gives you a unit file for /etc/systemd/system/aikeedo-worker.service, which you start with:
sudo systemctl daemon-reload
sudo systemctl enable --now aikeedo-workerWithin a few seconds the worker appears under Workers on the Queue page. Workers restart on their own after an update or a settings change, so there is nothing to do afterwards. Keep the cron entry too: it still runs the scheduled tasks.
Payments, single sign-on and several other features need HTTPS. On a VPS the usual route is a free certificate from Let's Encrypt, installed with Certbot for Apache or Nginx; your VPS provider's documentation will have the commands for your distribution.
Once the certificate is installed and your site loads over HTTPS, finish the job inside Aikeedo:
https:// and no path.Only turn that toggle on once the certificate actually works. The initial setup guide covers both settings, and then the admin dashboard's Getting Started section walks you through the rest: email, payments, AI providers and branding.
Updates install from the admin panel; there is no need to re-upload files over SFTP. The update guide is the reference, and the process is:
.env file. Since v5.1, .env holds APP_ENCRYPTION_KEY, which encrypts stored connector credentials; lose it and those credentials must be entered again.aikeedo-server-files.zip in it.If you can, try updates on a staging copy first. Queue workers pick up the new version on their own. In v5.2 the update finishes in a request of its own, and cron waits until an unfinished update is complete before running, so scheduled work never runs against half-migrated tables.
public, and /install no longer loads..env.From here, the admin panel is where you set up plans, prices and models. If you have not picked a license yet, pricing has the options.
Most shared hosting works, and the default Database queue adapter runs on any server. Without a long-running worker, jobs run with cron instead, so they can wait up to a minute. For a commercial platform we recommend a VPS. cPanel users should follow the cPanel guide.
Cron alone works: it runs waiting jobs every minute. A worker under Supervisor or systemd starts each job as soon as it is added, which feels faster to users. Either way, keep the cron entry, because it also runs scheduled tasks such as credit renewals.
PHP 8.2 or later. Version 5.2 runs on PHP 8.5 as well. Make sure cron and the worker use the same PHP binary as your website; the Queue page's configurations use the website's PHP path for that reason.
Yes, through plugins. Out of the box the queue uses your MySQL database, which is fine for most installs. Queue adapter plugins add Redis, Amazon SQS, Azure and Cloudflare, and you switch adapters under Settings β Queue adapters and on the Queue page.
Discover more on related topics that might interest you