mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-25 05:34:06 -08:00
e59ec8b27f
* docker: Rename /entrypoint.sh to /startup.sh This script is not configured as the docker image ENTRYPOINT, thus it is misleading to name it so. * docker: Terminate supervisord if a process enters the FATAL state By terminating PID 1, this will also terminate the Docker container. * docker: Use supervisord to start up apache and cron Note that this uses `apache2ctl -DFOREGROUND` rather than manually sourcing /etc/apache2/envvars and running apache2, as recommended at https://advancedweb.hu/2018/07/03/supervisor_docker/. * docker: Add artisan schedule:run to crontab This also switches to executing /var/www/html/artisan directly. * docker: Run artisan schedule:run directly from supervisor This has the following benefits over using cron: - Cron doesn't need to be installed - Docker-provided environment variables are preserved - It's easy and explicit to run as the docker user
51 lines
1.3 KiB
Bash
51 lines
1.3 KiB
Bash
#!/bin/sh
|
|
|
|
# fix key if needed
|
|
if [ -z "$APP_KEY" ]
|
|
then
|
|
echo "Please re-run this container with an environment variable \$APP_KEY"
|
|
echo "An example APP_KEY you could use is: "
|
|
/var/www/html/artisan key:generate --show
|
|
exit
|
|
fi
|
|
|
|
if [ -f /var/lib/snipeit/ssl/snipeit-ssl.crt -a -f /var/lib/snipeit/ssl/snipeit-ssl.key ]
|
|
then
|
|
a2enmod ssl
|
|
else
|
|
a2dismod ssl
|
|
fi
|
|
|
|
# create data directories
|
|
for dir in \
|
|
'data/private_uploads' \
|
|
'data/uploads/accessories' \
|
|
'data/uploads/avatars' \
|
|
'data/uploads/barcodes' \
|
|
'data/uploads/categories' \
|
|
'data/uploads/companies' \
|
|
'data/uploads/components' \
|
|
'data/uploads/consumables' \
|
|
'data/uploads/departments' \
|
|
'data/uploads/locations' \
|
|
'data/uploads/manufacturers' \
|
|
'data/uploads/models' \
|
|
'data/uploads/suppliers' \
|
|
'dumps' \
|
|
'keys'
|
|
do
|
|
[ ! -d "/var/lib/snipeit/$dir" ] && mkdir -p "/var/lib/snipeit/$dir"
|
|
done
|
|
|
|
chown -R docker:root /var/lib/snipeit/data/*
|
|
chown -R docker:root /var/lib/snipeit/dumps
|
|
chown -R docker:root /var/lib/snipeit/keys
|
|
|
|
# If the Oauth DB files are not present copy the vendor files over to the db migrations
|
|
if [ ! -f "/var/www/html/database/migrations/*create_oauth*" ]
|
|
then
|
|
cp -ax /var/www/html/vendor/laravel/passport/database/migrations/* /var/www/html/database/migrations/
|
|
fi
|
|
|
|
exec supervisord -c /supervisord.conf
|