Install on Shared Hosting
Threadline installs through a browser wizard — no command
line needed. Make sure you've checked
System Requirements first. This
is the default mode (SERVER=shared) and needs only
PHP and MySQL.
Steps
-
Upload and extract the zip. Upload the
Threadline ZIP you downloaded, as it is, to your domain's
document root and extract it there (e.g.
public_html/), or a subfolder if you're installing under a subdirectory — see Subdirectory installs below. Visitors must only ever reach thepublic/folder inside it. There are two ways, and either is fine:-
Your host lets you choose the website's
folder (often possible for a subdomain or an
addon domain, for example Hostinger's Custom folder
for subdomain or cPanel's Document Root
field): choose the
publicfolder inside what you extracted. -
It does not (usually the main domain,
always
public_html): nothing to do. The.htaccessfile at the top of the ZIP passes every request on topublic/and keeps the rest of the folder,.envincluded, closed to the web. If the folder already had an.htaccesswhen you extracted, keep the lines your host added to it (such as anAddHandlerline choosing the PHP version) at the top of the new one.
.htaccess, are not in the website's folder. -
Your host lets you choose the website's
folder (often possible for a subdomain or an
addon domain, for example Hostinger's Custom folder
for subdomain or cPanel's Document Root
field): choose the
- Create a MySQL database in your host's control panel (or let the installer create it — see step 4 below) and note the database name, username, and password.
- Visit your domain in a browser. With nothing installed yet, Threadline automatically shows the installer.
-
Step 1 — Requirements check. The
installer checks your PHP version and required extensions
automatically and shows a pass/fail list. Fix anything marked
"Missing" in your host's PHP settings, then reload the page.
If proc_open() function is marked, your host has
switched that PHP function off. Threadline needs it to run
its scheduled tasks. Ask your host to enable it, or in cPanel
remove it from the
disable_functionslist under Software → MultiPHP INI Editor. -
Step 2 — Application settings.
Enter your site's final URL exactly as customers and
Meta/Telegram will reach it (including
https://), and confirm your timezone. A random encryption key is generated for you automatically.Get the URL right here — it's baked into the WhatsApp/Telegram webhook URLs you'll register later. If you change domains afterward, update it in
.envand re-register your webhooks. - Step 3 — Database. Enter the host, port, database name, username, and password from step 2. Threadline will create the database if it doesn't already exist and the credentials have permission to do so.
- Step 4 — Owner account. Create your first login — name, email, and password. This is the Owner account: it runs the whole installation, including platform settings and (if you sell Threadline as a SaaS) plans, payment gateways, and customer Accounts — see Payment Gateway and Subscription Plans.
- Finish. The installer creates the database tables, loads the default navbar, footer, and site settings (all editable later — see Site Settings), and shows you a cron command to add — see Cron Setup, which is required before messages will actually send. Then log in.
Running the installer drops any existing tables in the database you give it. Point it at an empty database, never one that holds data you want to keep.
How Threadline knows it's installed
When the installer finishes it creates an empty file at
storage/app/public/installed. While that file
exists, the installer is locked and visitors see your site; if
it's missing, Threadline shows the installer again.
To re-run the installer on purpose, delete that file and visit
your domain. Remember the installer starts from a clean database
— back up first if you need anything in it. If the
installer appears unexpectedly on a live site, the file was most
likely lost when the
storage/ folder was replaced during an upload or
migration: restore the file (it can be empty) rather than running
the installer again.
Subdirectory installs
You can install Threadline at
example.com/bot instead of the domain root. Two
things to get right:
-
Check the Site URL in step 2 of the
installer. It shows the address you opened the installer
with; it must be the full path, e.g.
https://example.com/bot— every generated link, asset path, and webhook URL is derived from this value, so a wrong or missing subdirectory here is the classic cause of broken webhook URLs or missing CSS/JS after install. -
Point your web server's document root for that subdirectory at
the uploaded
public/folder, the same as a root install.
After you install
- Add the cron job — messages, campaigns and reminders do not run without it. See Cron Setup.
- Connect an AI provider. See AI Provider Setup.
- When a new version arrives, update it from the browser. See Updating Threadline.