Nexus
Run a Sonatype Nexus Repository instance with Docker or Apple's container CLI, configured far enough that the onboarding wizard never appears, then declare what goes in it: realms, blob stores, roles, users, and apt, docker, npm, pypi and raw repositories (hosted, proxy and group). apply creates and updates them in dependency order and can prune what is not declared; sync reports drift without changing anything. Pre-flight checks catch a stopped runtime, a taken port and typos in privileges or references before anything changes.
New @taylor/nexus/config model: declare realms, blob stores, roles, users and apt/docker/npm/pypi/raw repositories (hosted, proxy, group); apply plans, refuses unfixable conflicts before changing anything, applies in dependency order and verifies convergence; prune=true deletes undeclared items; sync reports drift. Instance gains ports (docker connectors) and properties (nexus.properties, e.g. nexus.skipDefaultRepositories). Fixes pre-flight checks under swamp model validate (2026.10.11.2 checks ignored argument defaults), and makes Nexus HTML error pages readable.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| runtime? | enum | Container runtime: docker, or container (Apple's container CLI; start it with `container system start`) |
| runtimePath? | string | Path to the runtime CLI if it is not `docker`/`container` on PATH |
| containerName? | string | Container name |
| image? | string | Nexus Repository image |
| port? | number | Host port for the Nexus web UI and API |
| bindAddress? | string | Host address to publish the port on; 0.0.0.0 exposes it to the network |
| volume? | string | |
| memory? | string | |
| ports? | array | Extra container ports to publish on the same host port, e.g. [10080, 10443] for docker repository connectors |
| properties? | record | Settings written to /nexus-data/etc/nexus.properties, e.g. { nexus.skipDefaultRepositories: true }; the file is replaced, and Nexus restarted when it changes. Empty leaves the file alone |
| adminUsername? | string | Administrator to sign in as; any name but admin is created with the nx-admin role and the built-in admin is disabled |
| adminPassword | string | Administrator password, set on first start; use a vault expression |
| anonymousAccess? | boolean | Let anonymous users read repositories without signing in |
| Argument | Type | Description |
|---|---|---|
| timeoutSeconds? | number | How long to wait for Nexus to become ready; first boot takes a few minutes |
| Argument | Type | Description |
|---|---|---|
| removeVolume? | boolean | Also delete the data volume, losing all repositories and settings |
Resources
Global Arguments
| Argument | Type | Description |
|---|---|---|
| url? | string | Nexus base URL, e.g. ${{ data.latest("nexus", "instance").attributes.url }} |
| adminUsername? | string | Administrator to sign in as |
| adminPassword | string | Administrator password; use a vault expression |
| realms? | array | Active security realms in order, e.g. [NexusAuthenticatingRealm, DockerToken]; omit to leave them alone |
| blobStores? | array | |
| roles? | array | |
| users? | array | |
| repositories? | array |
| Argument | Type | Description |
|---|---|---|
| prune? | boolean | Also delete repositories, users, roles and blob stores that are not declared (repository content is lost) |
Resources
Apple's container CLI support (runtime=container), five pre-flight checks (runtime-ready, existing-container-is-nexus, existing-container-matches, port-available, memory-sufficient), a read-only sync method that reports drift, fail-fast when the container crashes during startup, and a memory argument. dockerPath is renamed to runtimePath; existing models migrate automatically.
Modified 1 models
First release: run Sonatype Nexus Repository in Docker and complete onboarding (admin password, EULA, anonymous access) so the setup wizard never appears.
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License1/2partial
no SPDX license declared
- Verified public repository2/2earned
Spawns a subprocess with Deno.Command().
- models/nexus_instance.ts:178 — runs the docker or Apple container CLI; argument lists are built in this file, see README What it runs