diff --git a/docs/deploy-raspberry-pi.md b/docs/deploy-raspberry-pi.md index 4d1310c..90ebf01 100644 --- a/docs/deploy-raspberry-pi.md +++ b/docs/deploy-raspberry-pi.md @@ -6,7 +6,7 @@ This app can run directly on a Raspberry Pi with **nginx + php-fpm** instead of `scripts/deploy-raspi.sh` runs from your local machine and connects over SSH to the Pi. On the Pi it will: -- install `nginx`, `git`, `composer`, and PHP 8.2 packages +- install `nginx`, `git`, `composer`, and the distro-default PHP packages - clone or update the repository - create/update `.env` - install Composer dependencies @@ -44,7 +44,6 @@ Arguments: ```bash DEPLOY_REF=main \ DEPLOY_PATH=/var/www/warehouse \ -PHP_VERSION=8.2 \ scripts/deploy-raspi.sh pi raspberrypi.local git@github.com:YOUR_USER/warehouse.git DietPi.ntp.kentcommunications.com ``` @@ -52,7 +51,7 @@ scripts/deploy-raspi.sh pi raspberrypi.local git@github.com:YOUR_USER/warehouse. - browse to `http://DietPi.ntp.kentcommunications.com` - check nginx with `sudo systemctl status nginx` -- check php-fpm with `sudo systemctl status php8.2-fpm` +- check php-fpm with `systemctl list-units --type=service | grep php.*fpm` - check the queue worker with `sudo systemctl status warehouse-queue.service` ## Notes @@ -60,4 +59,4 @@ scripts/deploy-raspi.sh pi raspberrypi.local git@github.com:YOUR_USER/warehouse. - the app serves from `public/`, so the nginx root must stay pointed there - low-stock emails are always queued in this app, so the queue worker service matters in production - this script sets up **HTTP only**; add TLS separately with `certbot` or another reverse-proxy setup if you want HTTPS -- if you prefer MySQL instead of SQLite, update `.env` and the script before rerunning it +- if you prefer MySQL instead of SQLite, update `.env` and the script before rerunning it \ No newline at end of file diff --git a/scripts/deploy-raspi.sh b/scripts/deploy-raspi.sh index 6862480..c7506fb 100644 --- a/scripts/deploy-raspi.sh +++ b/scripts/deploy-raspi.sh @@ -12,20 +12,16 @@ repo_url="$3" domain="${4:-DietPi.ntp.kentcommunications.com}" deploy_path="${DEPLOY_PATH:-/var/www/warehouse}" deploy_ref="${DEPLOY_REF:-main}" -php_version="${PHP_VERSION:-8.2}" -ssh "${ssh_user}@${ssh_host}" bash -s -- "$repo_url" "$domain" "$deploy_path" "$deploy_ref" "$php_version" <<'REMOTE' +ssh "${ssh_user}@${ssh_host}" bash -s -- "$repo_url" "$domain" "$deploy_path" "$deploy_ref" <<'REMOTE' set -euo pipefail repo_url="$1" domain="$2" deploy_path="$3" deploy_ref="$4" -php_version="$5" owner="$(id -un)" group="$(id -gn)" -php_fpm_service="php${php_version}-fpm" -php_fpm_socket="/run/php/${php_fpm_service}.sock" set_env() { file="$1" @@ -39,11 +35,13 @@ set_env() { } sudo apt-get update -sudo apt-get install -y git nginx composer \ - "php${php_version}" "php${php_version}-cli" "php${php_version}-fpm" \ - "php${php_version}-mbstring" "php${php_version}-xml" \ - "php${php_version}-curl" "php${php_version}-zip" \ - "php${php_version}-sqlite3" "php${php_version}-mysql" +sudo apt-get install -y \ + git nginx composer \ + php php-cli php-fpm php-mbstring php-xml php-curl php-zip php-sqlite3 php-mysql + +php_version="$(php -r 'echo PHP_MAJOR_VERSION . "." . PHP_MINOR_VERSION;')" +php_fpm_service="php${php_version}-fpm" +php_fpm_socket="/run/php/${php_fpm_service}.sock" sudo mkdir -p "$(dirname "$deploy_path")" if [ ! -d "$deploy_path/.git" ]; then @@ -56,7 +54,9 @@ else fi cd "$deploy_path" -if [ ! -f .env ] && [ -f .env.example ]; then cp .env.example .env; fi +if [ ! -f .env ] && [ -f .env.example ]; then + cp .env.example .env +fi set_env .env APP_ENV prod set_env .env DB_CONNECTION sqlite set_env .env DB_SQLITE_PATH "$deploy_path/database/database.sqlite" @@ -123,4 +123,4 @@ sudo systemctl restart nginx sudo systemctl restart warehouse-queue.service echo "Deployment complete: http://${domain}" -REMOTE +REMOTE \ No newline at end of file