Infrastructure case study

One private home for a growing finance toolkit.

The Finance Suite brings several personal finance applications into a consistent Docker deployment on a MacBook server, with access kept on a private network instead of being exposed directly to the public internet.

The system

The suite includes Debt Tracker, Credit Card Tracker, Bonus Tracker, Expense Tracker, Receipt Splitter, and a Finance Hub that brings the tools together. Individual applications can evolve while the deployment remains understandable as one system.

Deployment path

  1. Development and source control originate on the main workstation.
  2. GitHub provides a controlled code handoff.
  3. The MacBook server receives the application and runs the services with Docker Compose.
  4. Tailscale provides private network access to the running suite.

Why containers

Docker gives each service a repeatable runtime and turns startup, restart, logs, and dependency packaging into a consistent operational model. Compose makes the group of services visible in one place instead of relying on individually managed background processes.

Data boundary

Application state lives in persistent SQLite databases and JSON or uploaded files on the server. Containers can be rebuilt; persistent data must be treated separately, included in backups, and verified through restoration exercises.

Security posture

Keeping access behind Tailscale reduces public exposure, but it does not remove the need for host updates, strong identities, secret management, application authorization, backup protection, and log review. Private networking is one layer in the system.

Ongoing improvements

The most valuable next steps are automated backups with tested restoration, health checks for each service, documented update and rollback procedures, and centralized visibility into errors and capacity.