Requirements


Server Requirements

Required
Requirement Minimum Recommended
PHP 8.2 8.3+
MySQL 8.0 8.0+
MariaDB 10.6+ 10.11+
Web Server Apache / Nginx Nginx
Composer 2.x latest
Node.js 18 20+

{warning.fa-exclamation-triangle} PHP 8.1 and below are not supported. Slotara uses PHP 8.2+ features including readonly properties and first-class callable syntax.


PHP Extensions

All of the following extensions must be enabled on your server:

BCMath
Ctype
cURL
DOM
Fileinfo
JSON
Mbstring
OpenSSL
PDO
PDO_MySQL
Tokenizer
XML
ZIP

Verify your extensions with:

php -m | grep -E "bcmath|ctype|curl|dom|fileinfo|json|mbstring|openssl|pdo|tokenizer|xml|zip"

You should see each extension listed in the output. Any missing extension will appear blank.

{primary.fa-lightbulb-o} Most shared hosting plans (cPanel, Plesk) have all these extensions enabled by default for PHP 8.2+. On a VPS, install missing extensions with apt install php8.2-{ext}.


Optional but Recommended

Recommended for Production
Component Purpose Without It
Redis Faster cache & queue driver Falls back to database driver (slower)
Supervisor Keeps queue workers alive Emails queue silently if worker stops
SSL Certificate HTTPS for Stripe & reCAPTCHA Stripe/reCAPTCHA won't work without HTTPS
Amazon S3 Cloud file storage Files stored locally on the server
SendGrid / Mailgun Reliable transactional email Gmail SMTP rate-limited in production

Free SSL — Use Let's Encrypt (certbot) on any VPS. Most cPanel hosts include AutoSSL.


Stripe Account

Required for Paid Services

Stripe is needed when any service or subscription plan has payment enabled.

  1. Create a free account at stripe.com
  2. Navigate to Developers → API Keys
  3. Copy your Publishable Key (pk_live_...) and Secret Key (sk_live_...)
  4. Go to Developers → Webhooks → Add Endpoint
  5. Set URL to https://yourdomain.com/stripe/webhook
  6. Copy the Signing Secret (whsec_...)

{primary.fa-lightbulb-o} Use test keys (pk_test_... / sk_test_...) during development. Test card: 4242 4242 4242 4242, any future expiry, any CVC.


Google reCAPTCHA v3

Optional

Protects the public contact form from spam bots. Uses the invisible v3 API — no checkbox shown to users.

  1. Go to google.com/recaptcha/admin/create
  2. Label: anything (e.g. Slotara)
  3. reCAPTCHA type: choose Score based (v3) — not v2
  4. Add your domain(s) under Domains
  5. Submit and copy the Site Key and Secret Key
  6. Paste both into Admin → Settings → Security

{danger.fa-ban} Do not use v2 keys with Slotara. The contact form uses the v3 invisible API. v2 keys will produce an "Invalid key type" error on the contact page.