Giter VIP home page Giter VIP logo

docker-registry-stack's Introduction

An Internal or Private Container Registry Stack using Docker-Compose

This repository will help you to starting-up an internal or private container registry on your own server. This Container Registry Stack is built-in with Redis as Memory Blob Cache, Container Registry UI, and HAProxy as SNI and TLS termination.

Getting Started

These instructions will get you this repository can be used in your server.

Prerequisites

Prequisites Packages:

  • Docker (Application Containerization)
  • Docker-Compose (Docker Orchestration)

Using This Package

Below is the instructions to use this package:

  • Install Docker and Docker-Compose CE (Please Read The Official Guideline in here)
  • Install htpasswd tool to generate authentication
# On Debian/Ubuntu
sudo apt-get install -y apache2-utils

# On Red Hat/CentOS
sudo yum install -y httpd-tools
  • Clone this repository
# Asumming Git already installed
git clone -b master https://github.com/dimaskiddo/docker-registry-stack.git
cd docker-registry-stack
  • Generate authentication file
# HTPasswd authentication need to use Bcrypt mode
# Repalce <username> with your 'username' that will be used for the auth
htpasswd -B registry/auth/htpasswd <username>
  • Prepare your SSL/TLS certificate
# Put your SSL/TLS certificate in ./haproxy/certs with format .crt and .key
# This will be used by the Container Registry
vi haproxy/certs/example_com.crt
vi haproxy/certs/example_com.key

# Generate all-in-one PEM certificate
# This will be used by the HAProxy
cat haproxy/certs/example_com.crt haproxy/certs/example_com.key > haproxy/certs/example_com.pem
  • Configure your docker-compose.yml
# Configure the registry service environment variable section (line 25, 26, 43, 45)
# In this case related to the SSL/TLS certficate file name (if you are using different name rather than example_com.*)
# Also any Domain FQDN used need to be changed
vi docker-compose.yml
  • Configure your haproxy/haproxy.cfg
# Configure the SSL/TLS termination and the Hostname for Registry and the Registry UI (line 36, 41, 42)
# In this case related to the SSL/TLS certficate file name (if you are using different name rather than example_com.*)
# Also any Domain FQDN used need to be changed
vi haproxy/haproxy.cfg
  • Start the Container Registry Stack
docker-compose up -d
  • Check the Container Registry Stack
docker-compose ps
docker-compose logs
  • To Stop the Container Registry Stack
docker-compose down

Built With

  • Docker - Application Containerization

Authors

  • Dimas Restu Hidayanto - Initial Work - DimasKiddo

See also the list of contributors who participated in this project

docker-registry-stack's People

Contributors

dimaskiddo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Forkers

aassuhendar

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.