82 lines
2.8 KiB
Markdown
82 lines
2.8 KiB
Markdown
# Deployment Notes
|
|
|
|
This document records the explicit runtime requirements and server changes for Provider Exchange deployments.
|
|
|
|
## Required Runtime
|
|
|
|
- Linux server.
|
|
- Nginx.
|
|
- PHP-FPM with PHP `^8.3`; PHP 8.5 is acceptable for the current Laravel build.
|
|
- PHP extensions required by Laravel and current dependencies:
|
|
- `ctype`
|
|
- `curl`
|
|
- `dom`
|
|
- `fileinfo`
|
|
- `filter`
|
|
- `hash`
|
|
- `mbstring`
|
|
- `openssl`
|
|
- `pdo`
|
|
- `pdo_sqlite` for the first live test deployment
|
|
- `session`
|
|
- `tokenizer`
|
|
- `xml`
|
|
- Composer for clean production installs, or an uploaded `vendor/` tree for temporary live testing when Composer is unavailable.
|
|
- Node.js/npm only on build machines. The server can receive prebuilt Vite assets in `public/build`.
|
|
- Writable Laravel directories:
|
|
- `storage/`
|
|
- `bootstrap/cache/`
|
|
- the SQLite database file for SQLite test deployments.
|
|
|
|
## Recommended Production Runtime
|
|
|
|
- Nginx.
|
|
- PHP-FPM 8.5 or current supported PHP version satisfying Composer constraints.
|
|
- MariaDB/MySQL or PostgreSQL for production data.
|
|
- Redis for cache, session, and queue once traffic or notifications grow.
|
|
- Supervisor or systemd units for Laravel queue workers.
|
|
- Cron entry for `php artisan schedule:run`.
|
|
- Shared/object storage before multi-server deployment.
|
|
|
|
## ChristIT Test Deployment
|
|
|
|
Target URL:
|
|
|
|
- `https://christit.com/tse`
|
|
|
|
Chosen deployment shape:
|
|
|
|
- Subdirectory deployment under the existing `christit.com` certificate.
|
|
- App code path: `/sites/provider-exchange`.
|
|
- Public web root exposed through Nginx should be `/sites/provider-exchange/public` only.
|
|
- Existing PHP-FPM socket should be reused: `/run/php/php8.5-fpm.sock`.
|
|
- Do not install or switch PHP 8.3 unless PHP 8.5 proves incompatible.
|
|
- Do not alter the existing generic PHP handling for the rest of `christit.com`.
|
|
- Add only a narrow `/tse` Nginx location and related PHP handler.
|
|
|
|
Initial test data/runtime:
|
|
|
|
- SQLite database at `/sites/provider-exchange/database/database.sqlite`.
|
|
- `APP_URL=https://christit.com/tse`.
|
|
- `ASSET_URL=https://christit.com/tse`.
|
|
- `SESSION_PATH=/tse`.
|
|
- `SESSION_DRIVER=database`.
|
|
- `CACHE_STORE=database`.
|
|
- `QUEUE_CONNECTION=database`.
|
|
- `MAIL_MAILER=log`.
|
|
|
|
## ChristIT Deployment Log
|
|
|
|
2026-07-10:
|
|
|
|
- Confirmed remote server uses Nginx and PHP 8.5-FPM.
|
|
- Confirmed `/run/php/php8.5-fpm.sock` exists.
|
|
- Confirmed `tse.christit.com` does not currently resolve and no certificate exists for it.
|
|
- Chose `https://christit.com/tse` as the first live test URL.
|
|
- Uploaded app source to `/home/jbird/provider-exchange-release`.
|
|
- Installed app source into `/sites/provider-exchange`.
|
|
- Remote Composer was not available in noninteractive SSH; uploaded the local `vendor/` tree for this temporary test deployment.
|
|
- No Nginx changes have been applied yet in this deployment pass.
|
|
- No PHP-FPM version changes have been made.
|
|
- No database server changes have been made.
|