mirror of
https://github.com/pelican-dev/panel.git
synced 2025-05-20 02:54:45 +02:00

Update the dockerfile to use supervisord Update supervisord config to use start caddy unless configured not to. Updated entrypoint to handle caddy skip for supervisord.
59 lines
1.5 KiB
Bash
59 lines
1.5 KiB
Bash
#!/bin/ash -e
|
|
|
|
#mkdir -p /var/log/supervisord/ /var/log/php8/ \
|
|
|
|
## check for .env file and generate app keys if missing
|
|
if [ -f /pelican-data/.env ]; then
|
|
echo "external vars exist."
|
|
rm -rf /var/www/html/.env
|
|
else
|
|
echo "external vars don't exist."
|
|
rm -rf /var/www/html/.env
|
|
touch /pelican-data/.env
|
|
|
|
## manually generate a key because key generate --force fails
|
|
if [ -z $APP_KEY ]; then
|
|
echo -e "Generating key."
|
|
APP_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
|
|
echo -e "Generated app key: $APP_KEY"
|
|
echo -e "APP_KEY=$APP_KEY" > /pelican-data/.env
|
|
else
|
|
echo -e "APP_KEY exists in environment, using that."
|
|
echo -e "APP_KEY=$APP_KEY" > /pelican-data/.env
|
|
fi
|
|
fi
|
|
|
|
mkdir /pelican-data/database
|
|
ln -s /pelican-data/.env /var/www/html/
|
|
ln -s /pelican-data/database/database.sqlite /var/www/html/database/
|
|
|
|
if ! grep -q "APP_KEY=" .env || grep -q "APP_KEY=$" .env; then
|
|
echo "Generating APP_KEY..."
|
|
php artisan key:generate --force
|
|
else
|
|
echo "APP_KEY is already set."
|
|
fi
|
|
|
|
## make sure the db is set up
|
|
echo -e "Migrating Database"
|
|
php artisan migrate --force
|
|
|
|
## start cronjobs for the queue
|
|
echo -e "Starting cron jobs."
|
|
crond -L /var/log/crond -l 5
|
|
|
|
export SUPERVISORD_CADDY=false
|
|
|
|
## disable caddy if SKIP_CADDY is set
|
|
if [[ -z $SKIP_CADDY ]]; then
|
|
echo "Starting PHP-FPM and Caddy"
|
|
export SUPERVISORD_CADDY=true
|
|
else
|
|
echo "Starting PHP-FPM only"
|
|
fi
|
|
|
|
chown -R www-data:www-data . /pelican-data/.env /pelican-data/database
|
|
|
|
echo "Starting Supervisord"
|
|
exec "$@"
|