安装
创建文件夹:gitlab-ce
在文件夹中创建:docker-compose.yml
services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
# Add any other gitlab.rb configuration here, each on its own line
#external_url 'https://192.168.1.100'
external_url 'http://gitlab.example.com:8929'
gitlab_rails['gitlab_shell_ssh_port'] = 2424
#gitlab_rails['initial_root_password'] = "your_password_here"
ports:
- '8929:8929'
- '443:443'
- '2222:22'
volumes:
- './config:/etc/gitlab'
- './logs:/var/log/gitlab'
- './data:/var/opt/gitlab'
shm_size: '256m'
部署:docker compose up -d
重置root管理员密码
参考:docs.gitlab.com/ee/security…
rail console方式:
root@server2:/home/lanhai/gitlab-ce# docker exec -it gitlab /bin/bash
root@gitlab:/# gitlab-rails console -e production
--------------------------------------------------------------------------------
Ruby: ruby 3.1.5p253 (2024-04-023 revision 1945f8dc0e) [x86_64-linux]
GitLab: 17.2.0 (f0b0995ac20) FOSS
GitLab Shell: 14.37.0
PostgreSQL: 14.11
------------------------------------------------------------[ booted in 27.67s ]
Loading production environment (Rails 7.0.8.4)
irb(main):001:0> user = User.where(id: 1).first
=> #<User id:1 @root>
irb(main):030:0> user.username
=> "root"
irb(main):016:0> user.password = 'Adm1234!'
=> "Adm1234!"
irb(main):017:0> user.password_confirmation = 'Adm1234!'
=> "Adm1234!"
irb(main):006:0> user.save!
=> true
irb(main):029:0> user.attributes
=>
{"projects_limit"=>100000,
"id"=>1,
"encrypted_password"=>"$2a$10$PdbtJkZiTwOudv7xWM1GBOIeNw2k0rOCi8XQzwq.CKij2icvUq9gO",
"email"=>"gitlab_admin_cbe58a@example.com",
"name"=>"Administrator",
"username"=>"root",
....
异常:密码规则异常,不能用常用词组合
irb(main):012:0> user.save!
/opt/gitlab/embedded/lib/ruby/gems/3.1.0/gems/activerecord-7.0.8.4/lib/active_record/validations.rb:80:in `raise_validation_error': Validation failed: Password must not contain commonly used combinations of words and letters (ActiveRecord::RecordInvalid)
打开http://192.168.1.100:8929/,输入root及密码登录
注册用户
审核用户
root用户登录后,点击左下角Admin area
进入管理界面,Admin area->Users,选择用户右侧的三个点,Approve审核通过。审核通过的用户可以:
- Log in
- Access Git repositories
- Access the API
- Be added to groups and projects
授权
社区版有四种:Regular, Administrator, External, Validate user account