28 lines
751 B
Nix
28 lines
751 B
Nix
|
{ pkgs, dir }:
|
||
|
|
||
|
pkgs.writeShellScriptBin "pelican-install" ''
|
||
|
DIR=${dir}
|
||
|
|
||
|
echo "Installing Pelican panel to $DIR ..."
|
||
|
if [ -d $DIR ]; then
|
||
|
echo "Directory $DIR already exists, exiting"
|
||
|
exit 1
|
||
|
fi
|
||
|
echo "Creating directory ..."
|
||
|
mkdir -p $DIR
|
||
|
cd $DIR
|
||
|
|
||
|
echo "Downloading Pelican panel ..."
|
||
|
curl -L https://github.com/pelican-dev/panel/releases/latest/download/panel.tar.gz | tar -xzv
|
||
|
echo "Installing Pelican panel using composer ..."
|
||
|
yes | composer install --no-dev --optimize-autoloader
|
||
|
|
||
|
echo "Setting up the environment ..."
|
||
|
yes "" | php artisan p:environment:setup
|
||
|
|
||
|
echo "Setting permissions ..."
|
||
|
chmod -R 755 storage/* bootstrap/cache/
|
||
|
chown -R nginx:nginx $DIR
|
||
|
|
||
|
echo "Pelican panel installed successfully"
|
||
|
''
|