otb-cloud secure encrypted backups
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

1.9 KiB

PROJECT_STATE.md

Project

OTB Cloud

Current version

v0.2.0

Build date

2026-04-12

Host

vault3

App path

/opt/otb_cloud

Purpose

Portal-authenticated secure backup and storage platform for customer files, including images, videos, documents, and other uploaded data.

Core requirements locked in

  • Shared OTB branding, nav, footer, favicon
  • Portal login / auth handoff through OTB Billing
  • No unauthenticated file/account access
  • MariaDB backend
  • Vault3 storage root at /tank/backups/otb-cloud
  • Tenant-isolated storage
  • User-created devices
  • Immutable originals
  • Derived-file processing workflow
  • Search by filename and date
  • Bulk zip export
  • Audit logging
  • Owner-approved admin support access using one-time token

Current implemented scaffold

  • Flask app factory
  • Main blueprint
  • Auth blueprint
  • MariaDB connection helper
  • Signed handoff endpoint
  • Auth-protected dashboard
  • Branded OTB portal shell styling
  • SQL schema file
  • DB bootstrap script
  • Storage bootstrap scripts
  • Gunicorn systemd service on vault3
  • Mintme reverse proxy in place
  • OTB Billing signed handoff working
  • Add Device flow
  • Remove Device flow for empty devices
  • Browser upload flow to device originals

Immediate next tasks

  1. Build first file library page
  2. Add uploaded file listing per device
  3. Add upload audit log UI or admin reference
  4. Add zip export flow
  5. Add searchable file listing
  6. Add media processing jobs

Notes

Original uploaded files should remain preserved and effectively read-only. Any user-facing edits or processing outputs should create derivative files. Admin access should require owner-issued one-time support authorization. New tenants no longer receive default devices automatically; devices are now user-created. Devices can only be removed when no files are associated with them. Browser uploads now write original files into device-specific originals directories and create DB records.