Skip to content

hitechnix/docker-gitlab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker GitLab CE

This repository provides a base on sameersbn/docker-gitlab, which we use to build a GitLab image for the Docker opensource container platform.

📦 Requirements

The Docker & Docker Compose system requirements are Linux Ubuntu as the OS (other operating systems are supported as well), an absolute minimum 512MB RAM (2GB recommended)

In order to install docker Ubuntu, you will need to meet the following requirements:

  • OS: Linux Ubuntu
  • Memory: 512MB RAM (2GB Recommended)
  • Disk: Sufficient amount to run the Docker containers you wish to use
  • CPU: Dependant on the applications you wish to run in the containers

📋 Features

  • Plan
  • Team Planning
  • Portfolio Management
  • Requirements Management
  • Quality Management
  • Design Management
  • DORA Metrics
  • Value Stream Management
  • DevOps Reports
  • Wiki
  • Pages

🔧 Installation

  1. Install Docker and Docker-Compose
  1. Bring up your stack by running
git clone https://github.com/hitechnix/docker-gitlab.git \
    && cd docker-gitlab \
    && cp .env.example .env
  1. Edit environment variable
# GitLab
DEBUG=false

DB_ADAPTER=postgresql
DB_HOST=gitlab-db
DB_PORT=5432
DB_USER=gitlab
DB_NAME=gitlabhq-production
DB_PASS=password
DB_EXTENSION=pg_trgm,btree_gist

REDIS_HOST=gitlab-redis
REDIS_PORT=6379

TZ=UTC
GITLAB_TIMEZONE=UTC

GITLAB_HTTPS=false
SSL_SELF_SIGNED=false

GITLAB_HOST=localhost
GITLAB_PORT=10080
GITLAB_SSH_PORT=10022
GITLAB_RELATIVE_URL_ROOT=
GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string
GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alphanumeric-string
GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alphanumeric-string

GITLAB_ROOT_PASSWORD=
GITLAB_ROOT_EMAIL=

GITLAB_NOTIFY_ON_BROKEN_BUILDS=true
GITLAB_NOTIFY_PUSHER=false

GITLAB_EMAIL=[email protected]
GITLAB_EMAIL_REPLY_TO=[email protected]
GITLAB_INCOMING_EMAIL_ADDRESS=[email protected]

GITLAB_BACKUP_SCHEDULE=daily
GITLAB_BACKUP_TIME=01:00

SMTP_ENABLED=false
SMTP_DOMAIN=www.example.com
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=[email protected]
SMTP_PASS=password
SMTP_STARTTLS=true
SMTP_AUTHENTICATION=login

IMAP_ENABLED=false
IMAP_HOST=imap.gmail.com
IMAP_PORT=993
IMAP_USER=[email protected]
IMAP_PASS=password
IMAP_SSL=true
IMAP_STARTTLS=false

OAUTH_ENABLED=false
OAUTH_AUTO_SIGN_IN_WITH_PROVIDER=
OAUTH_ALLOW_SSO=
OAUTH_BLOCK_AUTO_CREATED_USERS=true
OAUTH_AUTO_LINK_LDAP_USER=false
OAUTH_AUTO_LINK_SAML_USER=false
OAUTH_EXTERNAL_PROVIDERS=

OAUTH_CAS3_LABEL=cas3
OAUTH_CAS3_SERVER=
OAUTH_CAS3_DISABLE_SSL_VERIFICATION=false
OAUTH_CAS3_LOGIN_URL=/cas/login
OAUTH_CAS3_VALIDATE_URL=/cas/p3/serviceValidate
OAUTH_CAS3_LOGOUT_URL=/cas/logout

OAUTH_GOOGLE_API_KEY=
OAUTH_GOOGLE_APP_SECRET=
OAUTH_GOOGLE_RESTRICT_DOMAIN=

OAUTH_FACEBOOK_API_KEY=
OAUTH_FACEBOOK_APP_SECRET=

OAUTH_TWITTER_API_KEY=
OAUTH_TWITTER_APP_SECRET=

OAUTH_GITHUB_API_KEY=
OAUTH_GITHUB_APP_SECRET=
OAUTH_GITHUB_URL=
OAUTH_GITHUB_VERIFY_SSL=

OAUTH_GITLAB_API_KEY=
OAUTH_GITLAB_APP_SECRET=

OAUTH_BITBUCKET_API_KEY=
OAUTH_BITBUCKET_APP_SECRET=
OAUTH_BITBUCKET_URL=

OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL=
OAUTH_SAML_IDP_CERT_FINGERPRINT=
OAUTH_SAML_IDP_SSO_TARGET_URL=
OAUTH_SAML_ISSUER=
OAUTH_SAML_LABEL="Our SAML Provider"
OAUTH_SAML_NAME_IDENTIFIER_FORMAT=urn:oasis:names:tc:SAML:2.0:nameid-format:transient
OAUTH_SAML_GROUPS_ATTRIBUTE=
OAUTH_SAML_EXTERNAL_GROUPS=
OAUTH_SAML_ATTRIBUTE_STATEMENTS_EMAIL=
OAUTH_SAML_ATTRIBUTE_STATEMENTS_NAME=
OAUTH_SAML_ATTRIBUTE_STATEMENTS_USERNAME=
OAUTH_SAML_ATTRIBUTE_STATEMENTS_FIRST_NAME=
OAUTH_SAML_ATTRIBUTE_STATEMENTS_LAST_NAME=

OAUTH_CROWD_SERVER_URL=
OAUTH_CROWD_APP_NAME=
OAUTH_CROWD_APP_PASSWORD=

OAUTH_AUTH0_CLIENT_ID=
OAUTH_AUTH0_CLIENT_SECRET=
OAUTH_AUTH0_DOMAIN=
OAUTH_AUTH0_SCOPE=

OAUTH_AZURE_API_KEY=
OAUTH_AZURE_API_SECRET=
OAUTH_AZURE_TENANT_ID=

# DB Backup
SCHEDULE=@weekly
BACKUP_KEEP_DAYS=7
PASSPHRASE=wxHw26GJZQBDenA8
S3_REGION=us-east-1
S3_BUCKET=my-s3-bucket
S3_PREFIX=prefix
S3_ACCESS_KEY_ID=AKIA3M3ZKBJPQUBT2UK6
S3_SECRET_ACCESS_KEY=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
POSTGRES_HOST=gitlab-db
POSTGRES_USER=gitlab
POSTGRES_DATABASE=gitlabhq-production
POSTGRES_PASSWORD=password
  1. Start GitLab CE
docker-compose up -d

📝 Usage

Reader-friendly documentation can be found here.

You can also find documentation on periodically backing up PostgreSQL databases to AWS S3 and restoring from backups here and documentation on nginx proxy manager here.

📨 Message

I hope you find this useful. If you have any questions, please create an issue.

🔐 Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

📖 License

This software is released under the BSD 3-Clause License. Please see the LICENSE file or https://opensource.hitechnix.com/LICENSE.txt for more information.

✨ Contributors

Thanks goes to these wonderful people (emoji key):

Son Tran Thanh
Son Tran Thanh

🔧 🚇 🚧 💻 📖 👀

This project follows the all-contributors specification. Contributions of any kind welcome!