Running and debugging with Docker or local Couchbase Lite storage

Quick run (Docker Engine required):

1. Build and start services:

   docker compose up --build

2. App will be available on host port 8002 -> container 8080 (http://localhost:8002).

Docker persistence:

- The app now uses an embedded Couchbase Lite database stored under `/data/couchbase` inside the container.
- The compose file mounts that path from `${WORKTRACKER_DATA_PATH:-./.docker-data/couchbase}` on the host.
- Set `WORKTRACKER_DATA_PATH` before `docker compose up` if you want to move the database elsewhere.

Development in VS Code without Docker:

- Use the `WorkTracker: Debug Local` launch configuration.
- VS Code builds the project, starts the app directly with `ASPNETCORE_ENVIRONMENT=Development`, and opens the local URL when the server is ready.
- Local development data is stored in `App_Data/couchbase-dev` by default.

Development in Docker:

- The override file keeps a containerized `dotnet watch` flow for cases where you still want Docker.
- The development container mounts the workspace into `/workspace` and stores its Couchbase Lite files under `./.docker-data/couchbase-dev` on the host.

Manual development start:

- `docker compose up --build`

Manual shutdown:

- `docker compose down`

Notes:

- The base compose file remains production-oriented; the override file is the optional containerized development layer.
- The first container build takes longer because the dev image installs the .NET debugger.
- The Dockerfile uses the .NET 9 `*-noble` images so local builds and container builds stay aligned with the SDK available in VS Code.
