- Linux or macOS env
- PHP >= 7.2
- MySQL >= 5.7 (or SQLite >= 3)
- Node.js >= 6
- Composer
- (Optional) Redis
- (Optional) youtube-dl
Read our docker installation documentation.
git clone https://github.com/MarceauKa/shaark && cd shaark
/public folder.
composer install
cp .env.example .env
Once created, run php artisan key:generate to generate a unique key for you app.
.env file must be configured before going further.
php artisan storage:link
Default user is [email protected] with password secret.
- With install command:
php artisan shaark:install - With no data (user must be created manually):
php artisan migrate - With default data:
php artisan migrate --seed
CRON job is used for automations: backups, file cleaning, ...
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
🎉 Shaark is now installed!
By default, your APP_ENV is set to local. Used in production it must be set to production.
production and finally run composer install --no-dev.
Recommended configuration: mysql
Database can use MySQL (default), SQLite or Postgre SQL (see laravel database configuration).
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
Recommended configuration: sendmail or smtp
Mail can use sendmail (default), smtp, mailgun, postmark or amazon ses (see laravel mail configuration)
MAIL_DRIVER=sendmail
MAIL_HOST=127.0.0.1
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
[email protected]
MAIL_FROM_NAME="Shaark"
Recommended configuration: file or redis
Session can use file (default), cookie, database or redis (see laravel session configuration).
SESSION_DRIVER=file
SESSION_LIFETIME=120
Recommended configuration: sync (local), redis (production). Queues are used for archiving.
Queue (optional) can use sync (default), redis, database, beanstalkd, amazon sqs (see laravel queue configuration).
QUEUE_CONNECTION=sync
- Using
syncall jobs will be processed immediatly and can slow down your app. - Using
databaserequires to run a worker. - Using
redisis the preferred option when installed in production.
Redis, once configured, is useful for Cache, Session and Queues
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
When installed and configured you can set cache, session and queues like this:
CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis
The install command is useful:
- Init the app with default data
- Customize the default user
⚠ Install command will not work with non-dev composer dependencies installed
Run: php artisan shaark:install
Git and composer must be accessible.
Run: php artisan shaark:update.
This command is a shortcut for:
php artisan down
git reset --hard HEAD
git pull origin master
composer install --no-dev --prefer-dist --no-scripts
composer dumpautoload -o
php artisan migrate --force
php artisan storage:link
php artisan optimize
php artisan view:clear
php artisan queue:restart
php artisan up
When installing to production, check this configuration:
APP_ENV=production
APP_DEBUG=false
APP_URL=https://{your_url}
Then run:
composer install --no-dev -ophp artisan optimizephp artisan view:clear