Manual
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
git clone https://github.com/leepeuker/movary.git .
-
Install composer dependencies (recommended to install after every update)
composer install --no-dev
-
Create (and edit) your environment configuration
cp .env.example .env
-
Create necessary symlink between the storage and public/storage
php bin/console.php storage:link
-
Run the database migrations
php bin/console.php database:migration:migrate
Info
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 Movary data up to date and process all background jobs.
Here are two recommanded 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=movary
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:
* * * * * usr/local/bin/php /app/bin/console.php jobs:process