# Subplan 07 - Packaging, Docker, And UGREEN NAS

## Goal

Package the distribution platform so it can run on a UGREEN NAS through Docker.

## Runtime Shape

Container:

- `distd` server binary
- static admin UI assets
- config file support
- healthcheck

Volumes:

- database
- artifact storage
- logs
- optional TLS certs

Environment:

- `DIST_BASE_URL`
- `DIST_DATA_DIR`
- `DIST_DB_PATH`
- `DIST_STORAGE_DIR`
- `DIST_ADMIN_BIND`
- `DIST_PUBLIC_BIND`
- `DIST_LOG_LEVEL`

## Slice 1 - Local Container

Deliver:

- Dockerfile
- docker compose file
- healthcheck endpoint
- local volume layout

Acceptance:

- `docker compose up` starts `distd`.
- The admin UI loads.
- Data survives container restart.

## Slice 2 - NAS Deployment

Deliver:

- UGREEN NAS deployment notes.
- Recommended volume paths.
- Reverse proxy/TLS guidance.
- Backup/restore guidance.

Acceptance:

- A user can deploy with Docker UI or compose.
- Required external ports and volumes are clear.

## Slice 3 - Updates And Rollback

Deliver:

- image tag policy
- migration policy
- backup before migration
- rollback instructions

Acceptance:

- Updating the platform does not risk artifact loss without warning.

## Slice 4 - Dogfood

Deliver:

- Publish the distribution platform's own release through `dist`.
- Document the self-hosted release flow.

Acceptance:

- The platform can distribute its own updates.
