Manual Installation
System requirements¶
- PHP 8.4 (FPM) + extensions:
- php84-pdo
- php84-pdo_mysql
- php84-pdo_sqlite
- php84-mbstring
- php84-sqlite3
- php84-simplexml
- php84-pecl-imagick
- git
- composer
- web server (e.g. nginx)
- supervisor or cron for job processing
Setup¶
Application¶
-
Clone the repository
-
Install composer dependencies (recommended to install after every update)
-
Create (and edit) your environment configuration
-
Create necessary symlink between the storage and public/storage
-
Run the database migrations
Storage Permissions
Make sure that the permissions on the storage directory are correct and set to writable for the php (fpm) user
Web server¶
See build/config/conf.d/default.conf as an example nginx server configuration.
Use the public directory as the document root of the web server.
Job processing¶
The jobs:process cli command has to be executed to keep the Pathary data up to date and process all background jobs.
Here are two recommended ways.
Supervisor¶
Supervisor manages a process to execute the cli command contentiously.
Example config:
[program:movary]
command=/usr/local/bin/php /app/bin/console.php jobs:process
numprocs=1
user=<system_user>
autostart=true
autorestart=true
startsecs=1
startretries=10
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
Cron¶
Use a cronjob to process jobs in at least 1 minute intervals.
Example config: