1.8 KiB
1.8 KiB
Install And Update
Provider Exchange is a Laravel application. A server install needs PHP-FPM, Nginx, Composer, Node/npm for asset builds, and a database.
Quick Ubuntu Install
From a fresh Ubuntu host:
sudo APP_URL=https://example.com \
APP_DIR=/var/www/technical-services-exchange \
bash -c "$(curl -fsSL https://raw.githubusercontent.com/jasonybird/technical-services-exchange/main/scripts/install-ubuntu.sh)"
The installer defaults to SQLite for a small test deployment. For production, use MariaDB/MySQL or PostgreSQL and set the database values in .env before running migrations.
Update Existing Install
From the app directory:
bash scripts/update.sh
Or from anywhere:
APP_DIR=/var/www/technical-services-exchange bash /var/www/technical-services-exchange/scripts/update.sh
The preferred working loop for this project is:
- Make and test changes locally.
- Commit and push to GitHub.
- SSH to the server and run
bash scripts/update.shfrom the deployed Git checkout. - Smoke test the live URL after the update completes.
Important Notes
- The installer is a first-pass Ubuntu/Nginx helper, not a universal hosting panel installer.
- Local and CI test runners need PHP SQLite and upload-test support:
pdo_sqlite,sqlite3,fileinfo, andgd. - Public attachment serving needs
php artisan storage:link; the checked-in update script runs this automatically. - Tune upload policy with
TSE_ATTACHMENT_DISK,TSE_ATTACHMENT_ROOT,TSE_ATTACHMENT_MAX_KB, andTSE_ATTACHMENT_MIME_TYPES. - Review
.envbefore production use. - Configure real mail before inviting users.
- Move sessions, cache, and queues to Redis before serious traffic.
- Move uploads to shared or object storage before multi-server deployment.
- Use a real database server before treating the platform as production data.