Skip to main content

Nexus

@taylor/nexusv2026.10.11.3· 2d agoBEHAVIORSACCEPTED WARNINGS
01README

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.

02Release Notes

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.

03Behaviors2
@taylor/nexus/instancev2026.10.11.3nexus_instance.ts

Global Arguments

ArgumentTypeDescription
runtime?enumContainer runtime: docker, or container (Apple's container CLI; start it with `container system start`)
runtimePath?stringPath to the runtime CLI if it is not `docker`/`container` on PATH
containerName?stringContainer name
image?stringNexus Repository image
port?numberHost port for the Nexus web UI and API
bindAddress?stringHost address to publish the port on; 0.0.0.0 exposes it to the network
volume?string
memory?string
ports?arrayExtra container ports to publish on the same host port, e.g. [10080, 10443] for docker repository connectors
properties?recordSettings 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?stringAdministrator to sign in as; any name but admin is created with the nx-admin role and the built-in admin is disabled
adminPasswordstringAdministrator password, set on first start; use a vault expression
anonymousAccess?booleanLet anonymous users read repositories without signing in
fn start(timeoutSeconds?: number)
Create the Nexus container (or start a stopped one), wait until Nexus is ready, and complete onboarding
ArgumentTypeDescription
timeoutSeconds?numberHow long to wait for Nexus to become ready; first boot takes a few minutes
fn stop()
Stop the Nexus container, keeping it and its data
fn delete(removeVolume?: boolean)
Remove the Nexus container; the data volume is kept unless removeVolume is set
ArgumentTypeDescription
removeVolume?booleanAlso delete the data volume, losing all repositories and settings
fn sync()
Read the container and Nexus as they are now and record any drift from the arguments, changing nothing

Resources

instance(infinite)— The Nexus container and where to reach it
@taylor/nexus/configv2026.10.11.3nexus_config.ts

Global Arguments

ArgumentTypeDescription
url?stringNexus base URL, e.g. ${{ data.latest("nexus", "instance").attributes.url }}
adminUsername?stringAdministrator to sign in as
adminPasswordstringAdministrator password; use a vault expression
realms?arrayActive security realms in order, e.g. [NexusAuthenticatingRealm, DockerToken]; omit to leave them alone
blobStores?array
roles?array
users?array
repositories?array
fn apply(prune?: boolean)
Create and update realms, blob stores, roles, users and repositories to match the declaration; with prune, delete undeclared ones
ArgumentTypeDescription
prune?booleanAlso delete repositories, users, roles and blob stores that are not declared (repository content is lost)
fn sync()
Compare Nexus with the declaration and record what apply would change, changing nothing

Resources

config(infinite)— What apply changed, or what sync found out of date
04Previous Versions2
2026.10.11.2

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

2026.10.11.1

First release: run Sonatype Nexus Repository in Docker and complete onboarding (admin password, EULA, anonymous access) so the setup wizard never appears.

05Stats
A
93 / 100
Downloads
1
Archive size
58.4 KB
  • 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

07Platforms
08Labels