Skip to content

ADR 0005: DigitalOcean Droplet and S3-Compatible Storage Plan

Status

Accepted

Problem

We need to communicate a realistic deployment path that avoids high early cloud costs while keeping architecture portable for future growth.

Non-goals

  • Immediate production-grade HA deployment.
  • Immediate migration to a fully managed cloud stack.
  • Final decision on every future managed service vendor.

Decision

Use a DigitalOcean-first deployment strategy:

  • start with one Droplet running app + supporting services
  • use Postgres for multi-user persistent data
  • use MinIO for S3-compatible object storage
  • keep static docs/site on GitHub Pages

Keep interfaces cloud-portable:

  • object storage via S3-compatible APIs
  • API contract independent of hosting vendor
  • environment-driven URLs and credentials

Public API

No API shape changes in this ADR. This decision is operational/deployment guidance only.

Invariants

  • GitHub Pages remains static-only.
  • Backend deploys separately from Pages.
  • Object storage access stays S3-compatible to preserve portability.

Test plan

  • Keep CI checks for API/frontend/tests/docs.
  • Add and maintain deployment scaffolds under ops/.
  • Validate hosted environment with smoke checks before release.