Harden CI and switch release builds to tagged immutable images
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

This commit is contained in:
Elijah 2026-07-15 19:21:07 -07:00
parent bed2e6cfb6
commit f24e96efa7
60 changed files with 4710 additions and 64 deletions

40
README.md Normal file
View file

@ -0,0 +1,40 @@
# 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`](Drive_v2_final_plan.md). Implementation decisions that refine it are recorded in [`docs/adr/`](docs/adr/README.md).
## 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`](docs/development.md) for structure, generated contracts, and workflow details. The approved baseline packages and update rules are in [`docs/dependencies.md`](docs/dependencies.md).
## Licensing
This is currently a private personal project. No license is granted for redistribution or reuse.