Skip to documentation

Install Audoryx safely.

The buyer package already contains production PHP dependencies and compiled frontend assets. Prepare the server, expose only the public directory, then complete the guarded browser installer.

Server requirements

AreaRequirementWhy it matters
PHP8.2 or newerRequired by Laravel 12 and the packaged application.
DatabaseMySQL 8.0+ or MariaDB 10.3+Production installations must use a dedicated empty database.
Extensionsctype, curl, dom, fileinfo, filter, hash, json, libxml, mbstring, openssl, pdo, pdo_mysql, session, tokenizerThe installer checks the runtime before changing the server.
WebHTTPS and URL rewritingCredentials, callbacks, cookies, streaming, and license binding require a final secure origin.
Writablestorage/ and bootstrap/cache/Laravel must write configuration, logs, caches, sessions, private media, and installer state.
ProcessesScheduler every minute and queue workersGeneration, notifications, maintenance, reconciliation, and cleanup are asynchronous.
Never use 777 permissions

Use the correct file owner and normal permissions such as 755/644. Add group write access only where your hosting ownership model requires it.

Public-demo screenshots and showcase covers are not buyer-package assets

The distributable package ships Audoryx's redistribution-safe procedural artwork and theme gradients. After installation, upload media you own or license through Admin → Brand & content and the theme-specific cover settings; do not copy visual content from the hosted preview.

Keep the application private

The web server must expose only Audoryx's public files. Never publish .env, vendor/, storage/, source code, logs, or backups.

Recommended cPanel layout
/home/CPANEL_USERNAME/
├── audoryx/       # Private Laravel application
└── public_html/   # Public document root only
    ├── .htaccess
    ├── index.php
    ├── assets/
    └── build/

On a VPS, keep the application in a private directory and point Apache or Nginx DocumentRoot/root to its public/ directory.

cPanel installation

Extract the downloaded package locally

Confirm it contains the private audoryx application and packaged public web-root files. Do not upload an archive nested inside another archive.

Upload both packaged directories

Place audoryx/ under the account home and place the packaged public files in the domain's document root. Delete the uploaded ZIP after extraction.

Create an empty database

Create a dedicated database and user, assign all privileges on that database, and retain the full cPanel-prefixed names.

Set writable ownership

Ensure the PHP/web-server user can write to audoryx/storage/ and audoryx/bootstrap/cache/.

Open the installer

Visit https://your-domain.example/install/access on the final HTTPS origin.

Hosting-specific details remain available in the cPanel technical reference.

Complete the browser installer

Unlock access out of band

Read storage/app/private/audoryx-install-token.txt with File Manager or SSH and paste it on the access page. Do not send it by email or public support ticket.

Pass the requirement checks

Resolve every missing extension or write failure before continuing. A warning is not a reason to loosen the entire application directory.

Test the database

Enter the server-provided host and port, database, user, and password. Use Test database. A first installation requires an empty supported database.

Verify and bind the license

Provide the required EKR installation credentials and final origin. The server validates the signed certificate; there is no local Regular/Extended selector.

Create the first administrator

Use a private email address and a unique strong password. Store recovery access outside the application.

Run installation once

The wizard writes the environment, generates APP_KEY, migrates the database, links public assets, creates the administrator, registers core records, and permanently locks itself.

Do not run the browser and CLI installers on the same database

Use one clean installation path. Never point a first-install process at an unrelated populated database.

Queue and scheduler

A persistent process supervisor is preferred. Shared hosting may use the packaged scheduled queue draining, but the scheduler must still run every minute.

Primary worker
php artisan queue:work \
  --queue=audio-generations,notifications,default \
  --tries=3 --timeout=900
Database maintenance worker
php artisan queue:work database \
  --queue=maintenance --tries=5 --timeout=900
Cron scheduler
* * * * * /usr/local/bin/php /absolute/path/to/audoryx/artisan schedule:run >> /dev/null 2>&1

Advanced CLI alternative

Experienced operators may install from the command line after creating a clean .env, generating the application key, setting the final HTTPS URL, and configuring an empty supported database.

Clean CLI installation
cp .env.example .env
php artisan key:generate
# Set APP_URL and DB_* values before continuing.
php artisan audoryx:install --force
php artisan optimize

Post-installation verification

  • APP_ENV=production, APP_DEBUG=false, and HTTPS are effective.
  • The document root exposes no private application file.
  • The scheduler and both worker groups are active and restart automatically.
  • Public storage is linked while customer audio remains on a private media disk.
  • A real SMTP test arrives and its secrets never appear in page source.
  • The EKR certificate is current and Admin → Licenses shows the expected tier.
  • At least one authorized provider passes its connection test.
  • A verified backup is downloaded and retained off server.
  • Registration remains closed until legal pages, plans, support, and monitoring are ready.
Audoryx documentation · Version 1.0.0 · Updated 26 July 2026