Sign inSign up

paolor/nexo

By paolor

•Updated 1 day ago

S3-compatible object storage server with an embedded web console

Image
Databases & storage
0

152

paolor/nexo repository overview

⁠Nexo

S3-compatible object storage server with an embedded web console: a single static binary for a single drive, a single node with several drives (erasure coding) or a distributed cluster.

⁠Images

ImageContents
nexothe server /nexo and the CLI /nexoctl, distroless base, non-root user (UID 65532), HEALTHCHECK with nexo healthcheck
nexoctlthe CLI only, for CI pipelines and use from containers

Both are multi-arch (linux/amd64, linux/arm64), signed with cosign keyless and carry SBOM and provenance attestations.

⁠Quick start

docker run -d --name nexo -p 9000:9000 -p 9001:9001 \
  -e NEXO_ROOT_USER=admin -e NEXO_ROOT_PASSWORD=supersecret \
  -v nexo-data:/data docker.io/paolor/nexo:latest server /data

Then open the console at http://localhost:9001⁠ or point any S3 client at http://localhost:9000⁠ with the root credentials. With the CLI:

docker run --rm -it --network host -v nexoctl-config:/home/nonroot/.nexoctl docker.io/paolor/nexoctl \
  alias set local http://localhost:9000 admin supersecret
docker run --rm -it --network host -v nexoctl-config:/home/nonroot/.nexoctl docker.io/paolor/nexoctl ls local

The deployment mode follows the arguments of nexo server: several drives with server /data{1...4} (one volume per drive), a cluster with server http://node{1...4}/data{1...4}.

⁠Tags

TagMeaning
vX.Y.Zone release (also pre-releases such as v1.1.0-rc.1)
vX.Ythe latest final release of that minor version
latestthe latest final release

⁠Ports and volumes

9000S3 API (and internode RPC of a cluster)
9001web console and Admin API
/datadefault data volume (VOLUME /data); a host directory must belong to UID 65532 (chown 65532:65532)

⁠Environment variables

VariableDescription
NEXO_ROOT_USER, NEXO_ROOT_PASSWORDroot credentials, required (user ≥ 3 characters, password ≥ 8)
NEXO_ROOT_USER_FILE, NEXO_ROOT_PASSWORD_FILEthe same, read from files (Docker or Swarm secrets); they win over the plain variables
NEXO_ADDRESS, NEXO_CONSOLE_ADDRESSlisten addresses, default :9000 and :9001
NEXO_SERVER_URL, NEXO_BROWSER_REDIRECT_URLpublic URLs behind a reverse proxy
NEXO_TRUSTED_PROXIESproxies whose X-Forwarded-* headers are trusted
NEXO_DOMAINenables virtual-host bucket addressing (<bucket>.<domain>)
NEXO_REGIONdefault region (us-east-1)
NEXO_CERTS_DIRTLS: directory with public.crt and private.key (the healthcheck follows)
NEXO_KMS_SECRET_KEY / _FILEmaster key of the built-in KMS for server-side encryption
NEXO_LOG_LEVEL, NEXO_LOG_FORMATdebug/info/warn/error, json/text

The complete list is in the configuration reference⁠.

⁠Documentation

⁠License

Nexo is released under the GNU AGPL-3.0⁠ with the attribution terms of NOTICE⁠; commercial licenses are available, see COMMERCIAL-LICENSE.md⁠. The images contain /LICENSE, /NOTICE and /COMMERCIAL-LICENSE.md.

Tag summary

Content type

Image

Digest

sha256:c510b8c4b…

Size

24.2 MB

Last updated

1 day ago

docker pull paolor/nexo