Git Product home page Git Product logo

nexus3-ssl's Introduction

nexus3-ssl

Docker compose, nexus3 with ssl support, docker-proxy and anonymous pulling

Installation

Install docker-compose in virtualenv

Steps to deploy

  • Update env.config file to meet your requirements:
# Data volume root dir
export VOLUME_PATH=/srv/nexus-data

# will be accessable with https://SERVER_NAME
export SERVER_NAME=nexus.sandbox.example.com

# docker dev repo with anonymous push/pull
export DOCKER_DEV_NAME=docker-dev.sandbox.example.com

# docker virtual repo with anonymous pull
export DOCKER_VIRTUAL_NAME=docker-virtual.sandbox.example.com

# will be used in docker-proxy upstream configuration
export UPSTREAM_DOCKER_REPO=https://docker-prod-virtual.docker.example.com
  • Put ssl.key and ssl.crt files in in nginx/ssl/ directory

Automatic deployment steps on Nexus side

Implemeted by running curl with related json files

  • Create Remote User Token
  • Create docker-dev repository with listening on 8082 port
  • Create docker-proxy repository with pointing to Upstream docker repo UPSTREAM_DOCKER_REPO defined in env.config
  • Create docker-virtual repository with listening on 8083 port and which includes both:
    • docker-dev
    • docker-proxy

Running

Please check ./manage.sh for help

Usage: ./manage.sh ACTION

 ACTION:
   init                 [Optional] generate config files,
                        check ssl keys, build required images
   status               get containers status
   debug                run docker-compose in foreground
   start                start all containers in background
   stop                 stop all containers

Usage

  • Your nexus web interface will be available - SERVER_NAME
  • Your dev repository for pushing/pulling - DOCKER_DEV_NAME
  • Your proxy repository for pulling from upstream + dev - DOCKER_VIRTUAL_NAME For example:
# 1. nexus web interface available https://nexus.sandbox.example.com
# with admin:admin123 (nexus default credentials)
SERVER_NAME=nexus.sandbox.example.com

# 2. pushing to dev
docker push dev-nexus.sandbox.example.com/my-container:v1.0.0

# 3. pulling from virtual, which is dev+UPSTREAM_DOCKER_REPO
docker pull virtual-nexus.sandbox.example.com/debian:jessie

Notes and limitations

  • push/pull to docker-dev repo DOESN'T require authorization since we are doing this transparantly on proxy
  • pull from docker-virtual (which is docker-dev + docker-proxy) can be done anonymously as well

nexus3-ssl's People

Contributors

samrocketman avatar sergk avatar

Watchers

 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.