Giter Club home page Giter Club logo

nexus3-docker's Introduction

Sonatype Nexus 3 on ARM

Run Sonatype Sonatype Nexus Repository Manager (NXRM) on ARM hardware (e.g. Raspberry Pi) - both 32-bit (armv7l) and 64-bit (aarch64).

Nexus doesn't provide an official image to run on Raspberry Pi.

So I'm creating one and sharing it with everyone :-) .

(For x64, use the official image - sonatype/nexus3)

Running

docker run -d -p 8081:8081 --name nexus klo2k/nexus3

Building with "docker buildx" locally

Initialise buildx, if you're on a x64 machine:

# Enable ARM support
docker run --rm --privileged multiarch/qemu-user-static --reset --persistent yes

# Create 'mybuilder' if not exist, set as default builder
docker buildx inspect mybuilder||docker buildx create --name mybuilder
docker buildx use mybuilder

# Start builder
docker buildx inspect --bootstrap

Build ARM 32-bit (armv7l):

docker buildx build --pull \
  --platform "linux/arm/v7" \
  --tag "klo2k/nexus3" \
  --output=type=docker \
  .

Build ARM 64-bit (aarch64):

docker buildx build --pull \
  --platform "linux/arm64" \
  --tag "klo2k/nexus3" \
  --output=type=docker \
  .

Credits

nexus3-docker's People

Contributors

dim777 avatar dinesh-auti avatar huskehhh avatar klo2k avatar oliverjurkschat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

nexus3-docker's Issues

HTTPS

Hi!
I'm trying to push some docker images, and trying to configure the https connector but I get this error: "Unsupported HTTP Scheme: https"

024-07-04 01:27:40,027+0000 INFO  [qtp481973177-675] admin org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl - Updating repository: docker -> OrientConfiguration{repositoryName='docker', recipeName='docker-hosted', attributes={docker={forceBasicAuth=true, v1Enabled=false}, storage={blobStoreName=default, strictContentTypeValidation=true, writePolicy=ALLOW, latestPolicy=false}, component={proprietaryComponents=false}}}
2024-07-04 01:27:53,830+0000 INFO  [qtp481973177-674] admin org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl - Updating repository: docker -> OrientConfiguration{repositoryName='docker', recipeName='docker-hosted', attributes={docker={httpsPort=8085.0, forceBasicAuth=true, v1Enabled=false}, storage={blobStoreName=default, strictContentTypeValidation=true, writePolicy=ALLOW, latestPolicy=false}, component={proprietaryComponents=false}}}
2024-07-04 01:27:53,839+0000 WARN  [qtp481973177-674] admin org.sonatype.nexus.repository.docker.internal.DockerConnectorFacetImpl - Could not configure https connector on port 8085 for docker repository docker
org.sonatype.nexus.bootstrap.jetty.UnsupportedHttpSchemeException: Unsupported HTTP Scheme: https
	at org.sonatype.nexus.internal.jetty.ConnectorRegistrarImpl.validate(ConnectorRegistrarImpl.java:128)
	at org.sonatype.nexus.internal.jetty.ConnectorRegistrarImpl.addConnector(ConnectorRegistrarImpl.java:84)
	at org.sonatype.nexus.repository.docker.internal.DockerConnectorFacetImpl.startConnector(DockerConnectorFacetImpl.java:154)
	at org.sonatype.nexus.repository.docker.internal.DockerConnectorFacetImpl.doStart(DockerConnectorFacetImpl.java:131)

Any help to set it?

Bump nexus3 version ton 3.66

Hi :)

First of all, thanks for this image, which saves me a tons of time !
Is it possible to re-run the pipeline to get the latest version of nexus3 ?

I checked the github actions and realised you had a way to extract the latest main version number. I suppose a "simple" rerun of the action pipeline can upgrade the image ?

Warning in Memory Size

Hello, Thanks for nice image.

I have just tried and found out this warning. Is it possible to correct it? Thanks.

*SYSTEM com.orientechnologies.common.util.OMemory - Configured maximum amount of memory available to the cache (4294967296 bytes) is larger than configured JVM maximum direct memory size (2147483648 bytes). That may cause out of memory errors, please tune the configuration up. Use the -XX:MaxDirectMemorySize JVM option to raise the JVM maximum direct memory size or storage.diskCache.bufferSize OrientDB option to lower memory requirements of the cache.

How frequently do you release?

Current version of Sonatype Nexus Repository is 3.61.0.

How frequently do you release arm64 images? Latest version build with your tool submitted to docker hub is 3.43.0.

klo2k/nexus3 could not run on an AWS ARM EC2 instance

Hello, I would like to ask for a bit of assistance on setting up the nexus3 docker on AWS EC2 (aarch64)

This is what I have done:

  1. Set up an AWS EC2 instance (Ubuntu 22.04.3 LTS, t4g.micro, access to port 80/443/8081, otherwise its all standard settings)
  2. In EC2 instance: Install Docker
  3. In EC2 instance: sudo docker run -d -p 8081:8081 --name nexus klo2k/nexus3

These are the symptoms:
This is what happened when I executed sudo docker ps -a after around a minute:

CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS                        PORTS     NAMES
1d2f53f17d9a   klo2k/nexus3   "/opt/sonatype/nexus…"   54 seconds ago   Exited (137) 34 seconds ago             nexus

I have also included the execution of the docker logs retrieval below: sudo docker logs nexus
klo2k-nexus.log

I have tried looking into the logs myself, and I find that its very sparse when it comes to ERROR messages.
These are the closest things that I see could indicate an issue:

...
2023-11-02 03:14:43,341+0000 INFO  [FelixStartLevel] *SYSTEM org.sonatype.nexus.pax.logging.NexusLogActivator - start
2023-11-02 03:14:43,575+0000 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=org.apache.karaf.log)] *SYSTEM org.apache.felix.fileinstall - File is not writeable: file:/opt/sonatype/nexus/etc/karaf/org.apache.karaf.log.cfg
2023-11-02 03:14:43,581+0000 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=jmx.acl)] *SYSTEM org.apache.felix.fileinstall - File is not writeable: file:/opt/sonatype/nexus/etc/karaf/jmx.acl.cfg
2023-11-02 03:14:43,591+0000 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=org.ops4j.pax.url.mvn)] *SYSTEM org.apache.felix.fileinstall - File is not writeable: file:/opt/sonatype/nexus/etc/karaf/org.ops4j.pax.url.mvn.cfg
2023-11-02 03:14:43,602+0000 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=org.apache.karaf.features)] *SYSTEM org.apache.felix.fileinstall - File is not writeable: file:/opt/sonatype/nexus/etc/karaf/org.apache.karaf.features.cfg
2023-11-02 03:14:43,610+0000 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=org.apache.felix.fileinstall~deploy)] *SYSTEM org.apache.felix.fileinstall - File is not writeable: file:/opt/sonatype/nexus/etc/karaf/org.apache.felix.fileinstall-deploy.cfg
2023-11-02 03:14:43,616+0000 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=profile)] *SYSTEM org.apache.felix.fileinstall - File is not writeable: file:/opt/sonatype/nexus/etc/karaf/profile.cfg
2023-11-02 03:14:43,621+0000 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=org.apache.karaf.kar)] *SYSTEM org.apache.felix.fileinstall - File is not writeable: file:/opt/sonatype/nexus/etc/karaf/org.apache.karaf.kar.cfg
2023-11-02 03:14:43,627+0000 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=org.apache.karaf.shell)] *SYSTEM org.apache.felix.fileinstall - File is not writeable: file:/opt/sonatype/nexus/etc/karaf/org.apache.karaf.shell.cfg
2023-11-02 03:14:43,633+0000 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=org.apache.karaf.service.acl.command)] *SYSTEM org.apache.felix.fileinstall - File is not writeable: file:/opt/sonatype/nexus/etc/karaf/org.apache.karaf.service.acl.command.cfg
2023-11-02 03:14:43,638+0000 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=org.apache.karaf.management)] *SYSTEM org.apache.felix.fileinstall - File is not writeable: file:/opt/sonatype/nexus/etc/karaf/org.apache.karaf.management.cfg
2023-11-02 03:14:43,644+0000 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=org.ops4j.pax.logging)] *SYSTEM org.apache.felix.fileinstall - File is not writeable: file:/opt/sonatype/nexus/etc/karaf/org.ops4j.pax.logging.cfg
2023-11-02 03:14:43,649+0000 WARN  [CM Event Dispatcher (Fire ConfigurationEvent: pid=org.apache.karaf.jaas)] *SYSTEM org.apache.felix.fileinstall - File is not writeable: file:/opt/sonatype/nexus/etc/karaf/org.apache.karaf.jaas.cfg
2023-11-02 03:14:43,991+0000 INFO  [FelixStartLevel] *SYSTEM org.sonatype.nexus.features.internal.FeaturesWrapper - Fast FeaturesService starting
...
2023-11-02 03:14:45,962+0000 WARN  [FelixStartLevel] *SYSTEM uk.org.lidalia.sysoutslf4j.context.SysOutOverSLF4JInitialiser - Your logging framework class org.ops4j.pax.logging.slf4j.Slf4jLogger is not known - if it needs access to the standard println methods on the console you will need to register it by calling registerLoggingSystemPackage
...

Other than that, I don't really have anything else to go off of.

Please let me know if you have any questions.

Thanks in advance,
Henry

License

Hi, could you please add a license to the repo? Thanks :)

Current development build startup hang with "OpenJDK Client VM warning: No monotonic clock was available" error + 400% CPU

When trying to test #3, current development build is failing to start, while CPU is pegged at 400%

docker log:

OpenJDK Client VM warning: No monotonic clock was available - timed services may be adversely affected if the time-of-day clock changes
1969-12-31 23:59:58,000+0000 INFO  [FelixStartLevel] *SYSTEM org.sonatype.nexus.pax.logging.NexusLogActivator - start

Steps to reproduce

  1. docker pull klo2k/nexus3:development
  2. docker run --rm --detached klo2k/nexus3:development

Unable to download scoped repos in Nexus

I have a containerized Nexus3 repo v 3.43.0-01 using this image that I've successfully published a package to:

However, when attempting to download this package via npm i,

I receive the following error

This is a scoped repo, defined as "@my-scope/tinymce": "4.1.0"

The only thing I've been able to find so far is that it's probably due to the encoded slash in the scope, but that appears to have been fixed since 3.17. I'm not running through a proxy, it's just a local container. It looks like Nexus is served via Jetty Server, but I'm not able to find a way to allow encoded slashes. Any help greatly appreciated!

failed to map segment from shared object

There is a bug on raspberry pi arm64 ubuntu
java.lang.UnsatisfiedLinkError: /nexus-data/tmp/jna1594202494393200442.tmp: /nexus-data/tmp/jna1594202494393200442.tmp: failed to map segment from shared object

Please tell me how to fix it. thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.