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
| Area | Requirement | Why it matters |
|---|---|---|
| PHP | 8.2 or newer | Required by Laravel 12 and the packaged application. |
| Database | MySQL 8.0+ or MariaDB 10.3+ | Production installations must use a dedicated empty database. |
| Extensions | ctype, curl, dom, fileinfo, filter, hash, json, libxml, mbstring, openssl, pdo, pdo_mysql, session, tokenizer | The installer checks the runtime before changing the server. |
| Web | HTTPS and URL rewriting | Credentials, callbacks, cookies, streaming, and license binding require a final secure origin. |
| Writable | storage/ and bootstrap/cache/ | Laravel must write configuration, logs, caches, sessions, private media, and installer state. |
| Processes | Scheduler every minute and queue workers | Generation, notifications, maintenance, reconciliation, and cleanup are asynchronous. |
Use the correct file owner and normal permissions such as 755/644. Add group write access only where your hosting ownership model requires it.
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.
/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.
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.
php artisan queue:work \
--queue=audio-generations,notifications,default \
--tries=3 --timeout=900
php artisan queue:work database \
--queue=maintenance --tries=5 --timeout=900
* * * * * /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.
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.