Watchtower-Course-Project

ADR-0008: Use Supabase for Managed PostgreSQL Hosting

Status

Accepted

Date

2026-05-30


Context

ADR-0007 selected PostgreSQL as the primary database for WatchTower to support the project’s transition from a local prototype to a hosted application.

While PostgreSQL provides a suitable production database solution, self-hosting PostgreSQL would require:

WatchTower’s primary focus is observability and telemetry functionality rather than database administration.

The project requires a managed PostgreSQL solution that simplifies deployment while remaining compatible with the existing Node.js backend architecture.


Decision

Use Supabase as the managed PostgreSQL provider for WatchTower.

Supabase will provide:

WatchTower will continue to interact directly with PostgreSQL through the backend application.


Rationale


Alternatives Considered

Self-Hosted PostgreSQL

Rejected because managing database infrastructure would introduce additional operational complexity that is outside the project’s primary scope.

Railway PostgreSQL

Rejected because Supabase provides a more mature PostgreSQL management experience and additional tooling useful during development.

Neon

Rejected because while Neon provides hosted PostgreSQL, Supabase offers a broader ecosystem of management tools and developer features that simplify database administration.

Consequences

Positive

Negative


Conclusion

Supabase was selected because it provides a managed PostgreSQL platform that aligns with WatchTower’s hosted deployment architecture while minimizing operational complexity. This allows the team to focus on observability functionality rather than database administration.