Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Dec 12, 2024. It is now read-only.
/devops-composePublic archive

DevOps tools on Docker Compose

NotificationsYou must be signed in to change notification settings

int128/devops-compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A compose of following Docker containers:

  • Crowd
  • JIRA software
  • Confluence
  • GitBucket
  • Jenkins
  • Nexus
  • SonarQube
  • Mattermost
  • ownCloud
  • OpenLDAP

How to provision

Recommended insfrastructure stack:

ComponentNote
Route53-
ACMProvides SSL certificate. Strongly recommended for websocket apps.
ALBProvides SSL termination.
EC2-
EBSStores/var/lib/docker. Recommeded for easy migration.
RDSStores data. Recommeded for easy migration.

DNS

Create a wildcard record on the DNS service.

A *.example.com. 192.168.1.2.

If you do not have a domain, instead use the wildcard DNS service such as xip.io.

Database

Create a PostgreSQL instance. It is recommended to use managed services such as Amazon RDS or Google Cloud SQL for maintenancebility reason. If we are not on cloud, we can adda PostgreSQL container to thedocker-compose.yml.

MySQL is also available and works well butPostgreSQL is recommended for JIRA.

Initialize databases and users withinit-postgresql.sql.

Instance

Docker Compose and enough swap space are required.

yum install -y dockermkdir -p /opt/bincurl -L -o /opt/bin/docker-compose https://github.com/docker/compose/releases/download/1.12.0/docker-compose-Linux-x86_64chmod +x /opt/bin/docker-composefallocate -l 4G /swapfilechmod 600 /swapfilemkswap /swapfileswapon /swapfileecho'/swapfile swap swap defaults 0 0'>> /etc/fstab

Run containers. This may take a few minutes.

# Database hostecho'DATABASE_HOST=xxxxx.xxxxx.rds.amazonaws.com'>> .env# Domain nameecho'REVERSE_PROXY_DOMAIN_NAME=example.com'>> .env# using your DNSecho'REVERSE_PROXY_DOMAIN_NAME=192.168.1.2.xip.io'>> .env# using xip.iodocker-compose builddocker-compose up -d

How to setup

Openhttp://devops.example.com (concatenatedevops and domain name).

Setup Crowd

Open Crowd and configure the database connection.

  • Database server: Hostname of the database instance
  • Type: PostgreSQL
  • Database name:crowd
  • User:crowd
  • Password:crowd

Add the LDAP directory.

  • URL:ldap://ldap:389/
  • Base DN:dc=example,dc=org
  • Username:cn=admin,dc=example,dc=org
  • Password:admin

Setup JIRA

Open JIRA and configure the database connection.

  • Database server: Hostname of the database instance
  • Type: PostgreSQL
  • Database name:jira
  • User:jira
  • Password:jira

Add the Crowd server.

Setup Confluence

Open Confluence and configure the database connection.

  • Database server: Hostname of the database instance
  • Type: PostgreSQL
  • Database name:confluence
  • User:confluence
  • Password:confluence

Add the Crowd server.

Setup Jenkins

Get the initial admin password by following command:

dockerexec devopscompose_jenkins_1 cat /var/jenkins_home/secrets/initialAdminPassword

Open Jenkins and configure LDAP authentication.

  • Server:ldap
  • Root DN:dc=example,dc=org
  • User search base: (empty)
  • User search filter:cn={0}
  • Group search base: (empty)
  • Group search filter:cn={0}
  • Group membership: Search for LDAP groups containing user, filter:uniqueMember={0}
  • Manager DN:cn=admin,dc=example,dc=org
  • Manager Password:admin
  • Name attribute:displayname (default)
  • Mail attribute:mail (default)

Setup GitBucket

Open GitBucket and configure LDAP authentication.

  • LDAP server:ldap
  • Admin DN:cn=admin,dc=example,dc=org withadmin
  • Base DN:dc=example,dc=org
  • User attribute:cn
  • Name attribute:displayname
  • Mail attribute:mail

Setup Nexus

Open Nexus and configure LDAP authentication.

  • LDAP server:ldap://ldap:389
  • Search base:dc=example,dc=org
  • Username:cn=admin,dc=example,dc=org
  • Password:admin
  • Configuration template: Generic Ldap Server
  • Object class:inetOrgPerson (default)
  • User ID attribute:cn
  • Name attribute:displayname
  • Mail attribute:mail
  • Group type: Dynamic
  • Group member of attribute:memberOf (default)

Setup SonarQube

SonarQube does not support LDAP authentication.

Setup Mattermost

Mattermost (Community Edition) does not support LDAP authentication.Configure a mail service such as AWS SES and use the email sign up.

ownCloud

Open ownCloud and configure LDAP authentication.

  • LDAP server:ldap:389
  • Admin DN:cn=admin,dc=example,dc=org withadmin
  • Base DN:dc=example,dc=org

Register init script

We provide the init script for LSB.Register as follows:

sudo ln -s /opt/devops-compose/init-lsb.sh /etc/init.d/devops-composesudo chkconfig --add devops-compose

Backup and Restore

It may be best to backup and restore volumes under/var/lib/docker/volumes.

Contribution

This is an open source software licensed under Apache-2.0.Feel free to open issues or pull requests.

Releases

No releases published

Packages

No packages published

Contributors3

  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp