GithubHelp home page GithubHelp logo

adop-nexus's Introduction

#Supported tags and respective Dockerfile links

What is adop-nexus?

We have upgarded the nexus version to 3.7.1 and hence this image will enable the features of the latest version. To read more please cclick on the link -> https://books.sonatype.com/nexus-book/3.0/reference/

logo

How to use this image?

We would recommend to make changes to the provision.sh script in order to add/delete anything as the docker restart would re-set everything as it is according to provision.sh

Run Nexus

To start the server, where version is the release version of the Docker container, run the following command.

  $ docker run -d --name nexus -p 8081:8081 -e LDAP_ENABLED=false accenture/adop-nexus:VERSION

If LDAP authentication is disabled, the default user/password is:

  • username: admin
  • password: admin123

We should reset the default passowrd by setting new password value in Dockerfile for NEXUS_ADMIN_PASSWORD=<New_Password>

Persisting data

To persist data mount out the /sonatype-work directory.

e.g. $ docker run -d --name nexus -v $(pwd)/data:/sonatype-work -p 8081:8081 -e LDAP_ENABLED=false accenture/adop-nexus:VERSION

LDAP Authentication

By default, the image will enable LDAP authentication, setting the LDAP_ENABLED environment variable to false will disable LDAP authentication. The variables write Nexus ldap.xml configuration file.

The default nexus configuration depends on the following LDAP groups

  • nx-admin - administrators
  • nx-deployments - deployment users
  • nx-developers - developer accounts

Example run command:

  $ docker run -ti -p 8080:8081 \
     -e LDAP_SEARCH_BASE=dc=example,dc=com \
     -e LDAP_ENABLED=true \
     -e LDAP_URL=ldap \
     -e LDAP_BIND_DN=cn=admin,dc=example,dc=com \
     -e LDAP_USER_PASSWORD_ATTRIBUTE=userPassword \
     -e LDAP_USER_BASE_DN=ou=people \ 
     -e LDAP_GROUP_BASE_DN=ou=groups \ 
     -e LDAP_BIND_PASSWORD=password \ 
     accenture/adop-nexus:VERSION

The image reads the following LDAP environment variables for ADOP OpenLDAP or LDAP_TYPE is 'openldap':

  • searchBase - ${LDAP_SEARCH_BASE}
  • systemUsername - ${LDAP_BIND_DN}
  • systemPassword - ${LDAP_BIND_PASSWORD}
  • protocol - ${LDAP_AUTH_PROTOCOL}
  • host - ${LDAP_URL}
  • port - ${LDAP_PORT:-389}
  • emailAddressAttribute - ${LDAP_USER_EMAIL_ATTRIBUTE:-mail}
  • ldapGroupsAsRoles - ${LDAP_GROUPS_AS_ROLES:-true}
  • groupBaseDn - ${LDAP_GROUP_BASE_DN}
  • groupIdAttribute - ${LDAP_GROUP_ID_ATTRIBUTE:-cn}
  • groupMemberAttribute - ${LDAP_GROUP_MEMBER_ATTRIBUTE-uniqueMember}
  • groupMemberFormat - ${username}
  • groupObjectClass - ${LDAP_GROUP_OBJECT_CLASS}
  • preferredPasswordEncoding - ${LDAP_PREFERRED_PASSWORD_ENCODING:-crypt}
  • userIdAttribute - ${LDAP_USER_ID_ATTRIBUTE:-uid}
  • userObjectClass - ${LDAP_USER_OBJECT_CLASS:-inetOrgPerson}
  • userBaseDn - ${LDAP_USER_BASE_DN}
  • userRealNameAttribute - ${LDAP_USER_REAL_NAME_ATTRIBUTE:-cn}

Additionally, the image reads the following LDAP environment variables if you want to use a Windows Active Directory or LDAP_TYPE is 'active_directory':

  • groupIdAttribute - ${LDAP_GROUP_ID_ATTRIBUTE:-cn}
  • groupMemberAttribute - ${LDAP_GROUP_MEMBER_ATTRIBUTE-uniqueMember}
  • groupObjectClass - ${LDAP_GROUP_OBJECT_CLASS:-groups}
  • userIdAttribute - ${LDAP_USER_ID_ATTRIBUTE:-sAMAccountName}
  • userObjectClass - ${LDAP_USER_OBJECT_CLASS:-person}
  • userBaseDn - ${LDAP_USER_BASE_DN}
  • userRealNameAttribute - ${LDAP_USER_REAL_NAME_ATTRIBUTE:-cn}

Sonatype/Nexus/plugin/LDAP/Documentation

Other configuration variables

  • CONTEXT_PATH, passed as -Dnexus-webapp-context-path. This is used to define the URL which Nexus is accessed.
  • DEBUG_LOGGING, defaults to false. If this is set to true, additional debug/access logs are enabled and sent to stdout/specified logging driver.
  • MAX_HEAP, passed as -Xmx. Defaults to 1g.
  • MIN_HEAP, passed as -Xms. Defaults to 256m.
  • JAVA_OPTS. Additional options can be passed to the JVM via this variable. Default: -server -XX:MaxPermSize=192m -Djava.net.preferIPv4Stack=true.
  • NEXUS_BASE_URL, the nexus base URL
  • NEXUS_PROXY_HOST, the proxy server that connects to Maven public repository. This is used if the Nexus Docker host has strict firewall implementation.
  • NEXUS_PROXY_PORT, the proxy server port.
  • NEXUS_CENTRAL_REPO_URL, if you want to change the Central Repo default maven public repository https://repo1.maven.org/maven2/
  • NEXUS_CREATE_CUSTOM_ROLES, if set to true, create custom roles according to the environment custom role variables:.
  • NEXUS_CUSTOM_ADMIN_ROLE , if set, create a custom group name with nx-admin role.
  • NEXUS_CUSTOM_DEV_ROLE , if set, create a custom group name with nx-developer role.
  • NEXUS_CUSTOM_DEPLOY_ROLE, if set, create a custom group name with nx-deployment role.
  • USER_AGENT, if set, you can enable Basic Authentication. How do I enable WWW-Authenticate headers for content 401 responses

License

Please view licence information for the software contained on this image.

#Supported Docker versions

This image is officially supported on Docker version 1.9.1. Support for older versions (down to 1.6) is provided on a best-effort basis.

User feedback

Documentation

Documentation for this image is available in the Sonatype/Nexus/Documentation. Additional documentaion can be found under the docker-library/docs GitHub repo. Be sure to familiarize yourself with the repository's README.md file before attempting a pull request.

Issues

If you have any problems with or questions about this image, please contact us through a GitHub issue.

Contribute

You are invited to contribute new features, fixes, or updates, large or small; we are always thrilled to receive pull requests, and do our best to process them as fast as we can.

Before you start to code, we recommend discussing your plans through a GitHub issue, especially for more ambitious contributions. This gives other contributors a chance to point you in the right direction, give you feedback on your design, and help you find out if someone else is working on the same thing.

adop-nexus's People

Contributors

deangodfree avatar nickdgriffin avatar sweta-singh avatar wanerliang avatar dean-godfree avatar sachinksingh28 avatar marisbahtins avatar quirinobrizi avatar

Watchers

James Cloos avatar  avatar

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.