Files
isaaccladandCursor cca98eefd2
Deploy Ladill Queue / deploy (push) Successful in 56s
Initial Ladill Queue release — enterprise QMS standalone app.
Phases 1–6: tickets, counters, displays, appointments, workflows, rules, analytics, reports, feedback, admin, device API, and Gitea deploy workflow for queue.ladill.com.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 20:19:52 +00:00

1.7 KiB

Ladill Queue — deploy runbook

Enterprise queue management at queue.ladill.com (tickets, counters, displays, appointments, analytics).

1. Gitea repo + CI

  • Repo: ladill-queue (isaacclad/ladill-queue).
  • Canonical repo: /Users/isaacclad/Forty8Tech/ladill-queue (not nested under the monorepo).
  • App root on server: /var/www/ladill-queue.

2. Server app-slot + database

sudo install -d -o deploy -g www-data /var/www/ladill-queue
sudo install -d -o deploy -g www-data /var/www/ladill-queue/{releases,shared}
sudo chown -R deploy:www-data /var/www/ladill-queue
sudo mysql -e "CREATE DATABASE ladill_queue CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
sudo mysql -e "CREATE USER 'ladill_queue'@'127.0.0.1' IDENTIFIED BY '<pw>';"
sudo mysql -e "GRANT ALL ON ladill_queue.* TO 'ladill_queue'@'127.0.0.1'; FLUSH PRIVILEGES;"

3. Platform wiring (monolith)

cd /var/www/ladill.com/current
php artisan ladill:onboard-app queue --run-dns
php artisan passport:client --name="Ladill Queue" --redirect_uri=https://queue.ladill.com/sso/callback
php artisan ladill:launcher:sync --propagate

4. Shared .env (/var/www/ladill-queue/shared/.env)

Set APP_URL=https://queue.ladill.com, MySQL ladill_queue credentials, SSO client, billing/identity keys, and SERVICE_EVENTS_INBOUND_SECRET.

5. nginx + TLS

sudo bash deployment/setup-service-subdomain-nginx.sh queue --app /var/www/ladill-queue/current

6. Scheduler

Ensure cron runs php artisan schedule:run for:

  • qms:mark-devices-offline (every 5 min)
  • qms:send-appointment-reminders (every 15 min)

7. Verify

curl -s https://queue.ladill.com/api/health
curl -sI https://queue.ladill.com/login | head -1