newdrive/README.md
Elijah f24e96efa7
All checks were successful
CI / Backend (push) Successful in 29s
CI / Frontend (push) Successful in 9m27s
CI / Contracts and repository policy (push) Successful in 7s
CI / Container (push) Successful in 18s
Harden CI and switch release builds to tagged immutable images
2026-07-15 19:21:07 -07:00

2 KiB

Drive v2

Drive v2 is a private, single-owner, self-hosted file suite for Unraid. Stable v1 will provide file management, sharing, OnlyOffice integration, core previews, an installable PWA, a bulk importer, and a durable API suitable for a future desktop sync client.

The approved product and architecture baseline is Drive_v2_final_plan.md. Implementation decisions that refine it are recorded in docs/adr/.

Repository status

Phase 0 establishes the repository, module boundaries, contracts, development environment, and CI. The running application currently exposes only bootstrap status and health endpoints; product functionality begins in Phase 1.

Prerequisites

  • Docker Engine with Compose v2
  • Go 1.26.x for native backend development
  • Node.js 24 LTS and npm for native frontend development

Docker is the canonical environment when local toolchains are unavailable.

Quick start

  1. Copy .env.example to .env and replace the development passwords.
  2. Run docker compose up --build.
  3. Open http://localhost:8080.
  4. Check http://localhost:8080/health/live and http://localhost:8080/health/ready.

Do not expose an uninitialized production instance through Nginx Proxy Manager. The approved open setup flow must be completed first.

Development

  • go test ./cmd/... ./internal/... runs backend tests.
  • npm --prefix web install installs frontend dependencies.
  • npm --prefix web run dev starts the frontend development server.
  • npm --prefix web run check runs frontend lint, type checking, and tests.
  • docker compose run --rm verify runs the repository checks in the pinned container environment.

See docs/development.md for structure, generated contracts, and workflow details. The approved baseline packages and update rules are in docs/dependencies.md.

Licensing

This is currently a private personal project. No license is granted for redistribution or reuse.