Sign inSign up

edwarddn/nexus3

By edwarddn

•Updated over 1 year ago

Nexus Repository 3 with arm64

Image
Developer tools
Web servers
Databases & storage
4

1.1K

edwarddn/nexus3 repository overview

⁠Nexus3 Multi-Architecture Docker Image

This repository contains a customized version of the Sonatype Nexus3⁠ Docker image with support for both amd64 and arm64 architectures. It allows flexible deployment on various hardware platforms, including x86_64 (traditional servers and desktops) and ARM-based systems (such as Apple Silicon and Raspberry Pi).

⁠Key Features

  • Multi-Architecture Support: The image is built and published for both amd64 and arm64, ensuring compatibility across different platforms.
  • Based on Nexus3: Inherits the functionalities from the official Sonatype Nexus3⁠ repository, including support for Maven, npm, Docker, and other repository formats.
  • Easy Deployment: Supports a wide range of environments with minimal configuration.

⁠Usage

To pull the image for your system architecture:

docker pull edwarddn/nexus3

The Docker client will automatically select the correct image version based on your system's architecture.

⁠docker-compose Example

Here is an example of how to configure and run Nexus3 using docker-compose, including a secure encryption key:

services:
  nexus:
    container_name: nexus
    image: edwarddn/nexus3
    restart: always
    environment:
      NEXUS_SECRETS_KEY_FILE: /opt/nexus/keys/nexus-secrets.json
    ports:
      - "8081:8081"
      - "8082:8082" # The 8082 port is used if you plan to store Docker images within Nexus.
    volumes:
      - ./nexus-data:/nexus-data
      - ./keys:/opt/nexus/keys
⁠Setting Up Encryption Keys

To enhance security, generate an encryption key and configure it in nexus-secrets.json. Run the following command to generate a secure 64-byte key:

openssl rand -base64 64 > ./keys/nexus-secrets.json

Then, edit the file to match the expected format:

{
  "active": "default-key",
  "keys": [
    {
      "id": "default-key",
      "key": "<YOUR_GENERATED_KEY_HERE>"
    }
  ]
}

Replace <YOUR_GENERATED_KEY_HERE> with the actual key generated by OpenSSL.

⁠Setting Permissions

Before starting the container, ensure Nexus has proper access to the data directory and encryption key file:

sudo chown -R 200:200 nexus-data keys
sudo chmod 644 keys/nexus-secrets.json

Now, you can start the Nexus container using:

docker-compose up -d

Tag summary

Content type

Image

Digest

sha256:d850702c4…

Size

338.1 MB

Last updated

over 1 year ago

docker pull edwarddn/nexus3:3.78.1