2.1 KiB
Executable File
Helpdesk Remote Sync
The Helpdesk module can synchronise its configuration and operational data between two Helpdesk installations.
Configure both hosts
Use a long random shared token. You can use the same token in both directions or separate inbound/outbound tokens.
HELPDESK_SYNC_REMOTE_URL=https://other-helpdesk.example.com
HELPDESK_SYNC_REMOTE_TOKEN=replace-with-a-long-random-token
HELPDESK_SYNC_ACCEPT_TOKEN=replace-with-a-long-random-token
HELPDESK_SYNC_INCLUDE_ATTACHMENTS=true
HELPDESK_SYNC_MAX_ATTACHMENT_BYTES=10485760
HELPDESK_SYNC_TIMEOUT=120
After changing .env:
php artisan optimize:clear
Check the remote endpoint
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://other-helpdesk.example.com/api/helpdesk/sync/status
Pull from the configured remote host
php artisan helpdesk:sync pull
Push to the configured remote host
php artisan helpdesk:sync push
Settings only
php artisan helpdesk:sync pull --settings-only
php artisan helpdesk:sync push --settings-only
Do not transfer attachment file contents
php artisan helpdesk:sync pull --without-files
Attachment database metadata still synchronises when Helpdesk data is included.
Mirror mode
By default, sync is non-destructive: rows are inserted or updated but destination-only rows are retained.
To make the destination mirror the source:
php artisan helpdesk:sync pull --mirror
Use mirror mode carefully. It can delete Helpdesk records from the destination.
User mapping
Helpdesk users are mapped by email address, not numeric user ID. helpdesk_admin and helpdesk_agent flags are synchronised. Password hashes are never copied. If a referenced user does not exist on the destination, a local user record is created with a random password.
API endpoints
All sync endpoints require a Bearer token matching HELPDESK_SYNC_ACCEPT_TOKEN.
GET /api/helpdesk/sync/statusGET /api/helpdesk/sync/exportPOST /api/helpdesk/sync/import
The payload is versioned using schema_version.