Files
sbv/README.md
T
2025-11-11 18:54:48 -07:00

2.1 KiB

SMS Backup Viewer (SBV)

A modern web application for viewing SMS and MMS message backups. Import your messages from "SMS Backup & Restore" XML files and browse them in a texting app-like interface.

Screenshots

conversation view

Quick Start

docker:

docker run -d \
  -p 8081:8081 \
  -v $(pwd)/data:/data \
  -e DB_PATH_PREFIX=/data \
  lowcarbdev/sbv

docker-compose:

services:
  sbv:
    image: lowcarbdev/sbv
    ports:
      - "8081:8081"
    volumes:
      # Mount data directory for persistent database storage
      - ./data:/data
    environment:
      - PORT=8081
      - DB_PATH_PREFIX=/data
    restart: unless-stopped

Features

  • Multi-user - Create a username/password to log in
  • Import SMS Backup & Restore XML - Upload XML files from the web interface.
  • Tested with large backups - Works with multi-GB backups
  • SMS, MMS, and call logs support - Read all types of call and message records.
  • Inline image and video - View images or watch videos as you browse. Even works with Apple HEIC and 3gp videos.
  • Fast conversation filtering - Skip to the right conversation.
  • Full-text search - Find what you want fast.
  • Activity view - See it as it happened.
  • vCard preview - Preview the contents of contact cards (vCards)

Tech Stack

  • Backend: Go with SQLite database
  • Frontend: React with Vite and Bootstrap CSS
  • Database: SQLite (stores messages, including media as BLOBs)

Data Persistence

The Docker setup uses a bind mount to persist the database:

  • Host path: ./data/sbv*.db
  • Container path: /data/sbv*.db

This ensures your data survives container restarts and updates.

License

MIT

Contributing

  • Please submit any issues to github issues
  • PRs are welcome, but for anything over ~100 lines, please submit a github discussion first

Known Issues

  • Imports are somewhat slow for large imports on Linux
  • In group MMS, the sender label only shows the phone number (not contact name) because the contact name is not available in the XML file