# 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 ```bash 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 '';" sudo mysql -e "GRANT ALL ON ladill_queue.* TO 'ladill_queue'@'127.0.0.1'; FLUSH PRIVILEGES;" ``` ## 3. Platform wiring (monolith) ```bash 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 ```bash 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 ```bash curl -s https://queue.ladill.com/api/health curl -sI https://queue.ladill.com/login | head -1 ```