Giter Site home page Giter Site logo

docker's Introduction

Cloud native GitLab Docker Images

Most images are based on the Debian Linux, using the official stretch-slim image. A few smaller, quick running tasks are based on Alpine Linux, using the official image.

Built using the official source installation instructions with some Alpine specific fixes and some dependency compilation tweaks picked up from from the omnibus build packages.

Each directory contains the Dockerfile for a specific component of the infrastructure needed to run GitLab.

  • rails - The Rails code needed for both API and web.
  • unicorn - The Unicorn container that exposes Rails.
  • workhorse - The GitLab Workhorse container providing smart-proxy in front of Rails.
  • sidekiq - The Sidekiq container that runs async Rails jobs.
  • shell - Running GitLab Shell and OpenSSH to provide git over ssh, and authorized keys support from the database
  • gitaly - The Gitaly container that provides a distributed git repos
  • task-runner - The task runner container provides utilities for direct interaction with the application suite, without interruping service containers.

Dev environment using Docker Compose

A dev test environment is provided with docker-compose that includes running the gitlab omnibus container to fill in the gaps that this repo in missing in terms of services.

Currently the containers do not wait for their dependant services to become available, so to run the environment:

# Grab the latest Images
docker-compose pull
# Start GitLab
docker-compose up

Design of the Containers

Configuration

Support for configuration is intended to be as follows:

  1. Mounting templates for the config files already supported by our different software (gitlab.yml, database.yml, resque.yml, etc)
  2. Additionally support the environement variables supported by the software, like https://docs.gitlab.com/ce/administration/environment_variables.html (support them by not doing anything that would drop them from being passed to the running process)
  3. Add ENV variables for configuring the custom code we use in the containers, like the the ERB rendering in the templates, and any wrapper/helper commands

For Kubernetes specifically we are mostly relying on the mounting the config files from ConfigMap objects. With the occasional ENV variable to control the custom container code.

Links

  1. Building Images

docker's People

Contributors

twk3 avatar maxlazio avatar warheadsse avatar ahmadposten avatar balasankarc avatar ibaum avatar stanhu avatar rymai avatar viglesiasce avatar mrennie avatar davekonopka avatar coreypobrien avatar dependencies-bot avatar jubel-han avatar leipert avatar mikegreiling avatar rjw57 avatar tnir 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.