Matches the production compose so the stack data lives next to the
compose file and can be backed up with the server. ticket_uploads stays
a named volume to avoid losing existing attachments on pull.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>