# 工具说明

名称 简介 使用说明
OpenLDAP 开源的LDAP协议实现。 OpenLDAP
GitLab Git仓库管理工具 GitLab使用手册
GitLab-CI GitLab默认集成的持续集成工具 GitLab-CI Runner
Confluence 专业的企业知识管理与协同软件,可用于构建企业wiki --
Jira 项目与事务跟踪工具,广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域 --
Crowd Confluence与Jira单点登录 --
SonarQube 代码质量管理平台 SonarQube
Nexus Maven仓库管理器 Sonatype Help
Portainer Docker可视化管理工具 Portainer安装
jumpserver 开源堡垒机,符合4A的专业运维审计系统。 jumpserver

# 使用 docker-compose 部署

以上工具的 docker-compose.yml 文件内容如下:

version: '3.1'

services:
  portainer: 
    image: portainer/portainer
    container_name: portainer
    ports:
      - 900:9000
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ${env_path}/volumes/portainer/data:/data
    restart: always

  mysql:
    image: mysql:5.7
    container_name: mysql
    environment: 
      - MYSQL_ROOT_PASSWORD=sql123
    ports:
      - 3306:3306
    volumes:
      - ${env_path}/volumes/mysql/conf:/etc/mysql
      - ${env_path}/volumes/mysql/data:/var/lib/mysql
    restart: always

  gitlab-runner:
    image: gitlab/gitlab-runner
    container_name: gitlab-runner
    volumes:
      - ${env_path}/volumes/gitlab-runner/conf:/etc/gitlab-runner
      - /var/run/docker.sock:/var/run/docker.sock
    restart: always

  openldap:
    image: osixia/openldap:1.3.0
    container_name: openldap
    # 以下环境变量仅用于新的LDAP服务器
    environment:
      # 时区
      TZ: Asia/Shanghai
      # 组织名称
      LDAP_ORGANISATION: 'yupaits'
      # LDAP域
      LDAP_DOMAIN: yupaits.com
      # LDAP基本DN。为空,默认取LDAP_DOMAIN的值
      LDAP_BASE_DN: 
      # LDAP管理员密码。默认是 admin
      LDAP_ADMIN_PASSWORD: ldap123
      # LDAP配置密码。默认是 config
      LDAP_CONFIG_PASSWORD: config
    # 使用现有的LDAP数据库
    volumes:
      - ${env_path}/volumes/slapd/database:/var/lib/ldap
      - ${env_path}/volumes/slapd/config:/etc/ldap/slapd.d
    ports:
      - 389:389
      - 636:636
    restart: always

  openldap-backup:
    image: osixia/openldap-backup:1.3.0
    container_name: openldap-backup
    environment:
      # 时区
      TZ: Asia/Shanghai
      # OPENLDAP配置备份cron表达式,默认是 '0 4 * * *',每天凌晨4点
      LDAP_BACKUP_CONFIG_CRON_EXP: '0 5 * * *'
      # OPENLDAP数据备份cron表达式,默认是 '0 4 * * *'
      LDAP_BACKUP_DATA_CRON_EXP: '0 5 * * *'
      # OPENLDAP备份保存天数,默认15天
      LDAP_BACKUP_TTL: 15
    volumes:
      - ${env_path}/volumes/openldap/backup:/data/backup
    restart: always

  phpLDAPadmin:
    image: osixia/phpldapadmin:0.9.0
    container_name: phpLDAPadmin
    environment:
      TZ: Asia/Shanghai
      PHPLDAPADMIN_LDAP_HOSTS: ldap-host
      PHPLDAPADMIN_HTTPS: 'false'
    links:
      - 'openldap:ldap-host'
    ports:
      - 680:80
    restart: unless-stopped

  nexus3:
    image: sonatype/nexus3
    container_name: nexus3
    volumes:
      - ${env_path}/volumes/nexus/data:/nexus-data
    ports:
      - 8081:8081
    restart: unless-stopped

  postgres:
    image: postgres:10
    container_name: postgres
    environment: 
      - POSTGRES_USER=admin
      - POSTGRES_PASSWORD=pg123
      - POSTGRES_DB=sonar
    ports:
      - 5432:5432
    restart: always
  
  sonarqube:
    image: sonarqube:lts
    container_name: sonarqube
    environment: 
      - sonar.jdbc.url=jdbc:postgresql://postgres/sonar
      - sonar.jdbc.username=admin
      - sonar.jdbc.password=pg123
    volumes:
      - sonarqube_conf:/opt/sonarqube/conf
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_logs:/opt/sonarqube/logs
      - sonarqube_data:/opt/sonarqube/data
    ports:
      - 9000:9000
    links:
      - postgres
    depends_on: 
      - postgres
    restart: unless-stopped
  
  confluence:
    image: yupaits/atlassian-confluence:6.9.0
    container_name: confluence
    ports:
      - 8090:8090
      - 8091:8091
    volumes:
      - ${env_path}/volumes/confluence/home:/var/atlassian/confluence
      - ${env_path}/volumes/confluence/logs:/opt/atlassian/confluence/logs
    restart: unless-stopped

  jira:
    image: yupaits/atlassian-jira:7.10.0
    container_name: jira
    ports:
      - 8080:8080
    volumes:
      - ${env_path}/volumes/jira/home:/var/atlassian/jira
      - ${env_path}/volumes/jira/logs:/opt/atlassian/jira/logs
    restart: unless-stopped

  crowd:
    image: yupaits/atlassian-crowd:3.2.1
    container_name: crowd
    environment: 
      - JVM_MINIMUM_MEMORY=384m
      - JVM_MAXIMUM_MEMORY=768m
    ports:
      - 8095:8095
    volumes:
      - ${env_path}/volumes/crowd:/var/atlassian/application-data/crowd
    restart: unless-stopped

volumes:
  sonarqube_conf:
  sonarqube_extensions:
  sonarqube_logs:
  sonarqube_data:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166

# 首次登录说明

  • phpLDAPadmin

初始的登录账号密码为:cn=admin,dc=yupaits,dc=com ldap123

  • gitlab-runner

gitlab-runner的配置文件 config.toml 的内容为:

concurrent = 2
check_interval = 0
1
2
  • sonarqube

初始登录账号密码为:admin admin

在宿主机执行 sudo nano /etc/sysctl.conf 追加写入 vm.max_map_count=262144,执行 sudo sysctl -p 使配置生效

  • mysql

注释 docker-compose.yml 第21-23行,执行以下指令:

sudo docker-compose up -d
cd ${env_path}/volumes  # ${env_path}替换为实际的目录
sudo docker cp mysql:/etc/mysql mysql/
sudo mv mysql/mysql mysql/conf
sudo docker cp mysql:/var/lib/mysql mysql/data
1
2
3
4
5

取消21-23注释再执行 sudo docker-compose up -d

  • altalassian

    破解步骤:

    1. 执行 java -jar confluence_keygen.jar
    2. 填写 Name 和 Server ID,点击 .gen! 生成 Key
    3. 点击 .patch! 选择 atlassian-extras-2.4.jar,如果破解的 Jar 包名称不是则重命名为 atlassian-extras-2.4.jar
    4. 将破解之后的 atlassian-extras-2.4.jar 覆盖当前实例的相应 Jar 包(名称和版本可能不一样,要修改成当前实例中的 Jar 包名称)
    5. 重启服务,填写 Key,完成安装