Browse the manual

Requirements

Server requirements for running Made with Pepper on shared hosting, VPS, or local development.

On this page

Made with Pepper runs on standard PHP hosting. You can use shared hosting, Plesk, cPanel, VPS, or local development if they meet the requirements below.

Installer requirements screen before database configuration

Browser and device

Use a current version of Chrome, Firefox, Safari or Edge. The application supports desktop, tablet and phone layouts.

Desktop provides more room for long registers, document editing and financial comparisons. On a phone, registers become stacked records. The bottom navigation and More replace the side rail. Document context opens through Details. See Home and navigation.

Server requirements

Requirement Minimum
PHP 8.4 or higher
Database for a fresh installation MySQL 8.4, or MariaDB 10.11, 11.4 or 11.8
Web address A domain or subdomain of its own, for example example.com or invoices.example.com. Not a subfolder such as example.com/invoices
Web server Apache or Nginx
Disk space Application files plus space for issued original PDFs and XML files, uploads, logs, and backups. Made with Pepper never deletes an issued original

Composer, npm, Vite, Node.js, and command-line access are not required for a normal buyer installation. The release package includes Composer dependencies in vendor/ and compiled frontend assets in public/build/. It also includes the Droid Sans Fallback font for Japanese and Chinese PDFs (Apache License 2.0). The font adds about 4 MB to the package.

Made with Pepper does not require CDN access for runtime fonts, scripts, styles, icons, or charts.

Required PHP extensions

Install these extensions:

Extension Purpose
bcmath Precise decimal arithmetic
ctype Character type validation
curl HTTP client (HTTPS support required)
dom XML and HTML processing
exif Media library image handling
fileinfo Upload MIME detection
gd or imagick Logo and QR/image handling
intl Date, number, and currency formatting
json Data encoding
mbstring Text handling
openssl Encryption and secure requests
pdo Database access
pdo_mysql MySQL and MariaDB database access
tokenizer Framework internals
xml UBL XML export and parsing
zip Backups and release archives
Setting Recommended
memory_limit 256M or higher. PDF memory use depends on the document length and fonts. Long documents and CJK text can need more memory
upload_max_filesize 10M or higher
post_max_size 12M or higher
max_execution_time 60 seconds or higher for PDF/export tasks

Writable directories

The web server must be able to write to:

  • storage/
  • bootstrap/cache/
  • The application root while the installer creates .env

Made with Pepper stores issued originals in storage/app/private/documents. The first Japanese or Chinese PDF copies its font into storage/fonts.

Verify these permissions before running the application.

Database target

A fresh installation needs an empty database and the pdo_mysql PHP extension. The installer checks the server family and version before it creates tables.

The installer also checks that the server supports the InnoDB storage engine. Made with Pepper creates all tables as InnoDB tables, also on a server that uses MyISAM as its default engine.

Server Accepted versions
MySQL 8.4
MariaDB 10.11, 11.4, 11.8 (long-term support releases)

Other versions are refused: MySQL 8.0 and 9.x, MariaDB 10.6 and earlier, and MariaDB short-term releases such as 11.5 to 11.7. A MariaDB long-term release that comes out later is accepted only after a release verifies it. A refusal names the detected server, for example "This database server is not supported: MariaDB 10.6.18".

The installer needs an empty database. For an existing installation, upload and install a release ZIP from the dashboard. The Update page checks whether the package supports your installed version before changing anything.

Backup creation needs PHP proc_open() and mysqldump. Command-line recovery also needs mysql. Made with Pepper also accepts the MariaDB names mariadb-dump and mariadb. Confirm these requirements with your host. A backup restores only on the same database engine that made it: a MySQL backup on MySQL, a MariaDB backup on MariaDB.

Recovery needs shell access, a separate directory and an empty database. The host must let you stop scheduled work and switch the document root. The replacement directory and database can use the same hosting account.

Allow space for staged files and the ZIP archive. Recovery requires twice the expanded archive size plus 16 MiB of free staging space.

Archives support up to 50,000 entries, 2 GiB expanded data and 1 GiB per file. See Backups for all limits.

Email requirements

Made with Pepper sends documents, reminders, password resets, and user invitations by email. Document emails and reminders go through an outbox that the cron job processes every minute. User invitations send during the request and need no queue worker. See Users. You can use SMTP (any provider) or the Resend API. Your hosting provider must allow outbound connections on the relevant port (SMTP) or to the Resend API endpoint (HTTPS).

Optional services

Developers can configure Redis, S3-compatible storage, and queue workers. Made with Pepper does not require them. Scheduled tasks (the email outbox, reminders, recurring invoices, scheduled backups) need one cron line that runs every minute. See CLI commands.

Domain or subdomain

Install Made with Pepper on a domain or subdomain of its own, for example example.com or invoices.example.com. Do not install it in a subfolder such as example.com/invoices. Made with Pepper builds its links, signed quote links, cookies and assets for the root of its web address. A subfolder installation is not supported. Most hosts let you add a subdomain in the control panel and point it at the application.

Shared hosting document root

The preferred web root is public/. If your Apache shared host cannot change the document root, upload the full application and keep the included root .htaccess. It rewrites requests into public/ and blocks direct access to application internals.

See also

Need help with the product?

Contact support