====== GitLab 安裝相關紀錄 ======
* 安裝環境 : Alpine 3.20 + docker compose
===== docker compose (非正式 SSL 憑證) =====
* docker-compose.yml
services:
gitlab:
image: gitlab/gitlab-ce
container_name: gitlab
restart: always
hostname: 'git-demo.ichiayi.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
# Add any other gitlab.rb configuration here, each on its own line
external_url 'https://git-demo.ichiayi.com'
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- './config:/etc/gitlab'
- './logs:/var/log/gitlab'
- './data:/var/opt/gitlab'
shm_size: '256m'
* 啟動服務
docker compose up -d
docker compose logs -f
* 查看自動產生的 root 密碼
cat config/initial_root_password
===== docker compose (含 ACME 自動更新 SSL 憑證) =====
* 目錄配置
.
├── .env
├── cloudflare.ini
├── docker-compose.yml
├── [config]
├── [data]
├── [logs]
├── [ssl]
* 建立 ssl 目錄與權限
rm -rf ssl/*
mkdir -p ssl
chmod 777 ssl
* 編輯 docker-compose.yml {{repo>https://raw.githubusercontent.com/tryweb/docker-compose/refs/heads/main/gitlab/docker-compose.yml}}
* 編輯 .env 檔案 Exp. {{repo>https://raw.githubusercontent.com/tryweb/docker-compose/refs/heads/main/gitlab/.env.example}}
* 編輯 cloudflare.ini 檔案 Exp. {{repo>https://raw.githubusercontent.com/tryweb/docker-compose/refs/heads/main/gitlab/cloudflare.ini.example}}
* 設定 .env 與 cloudflare.ini 權限
chmod 600 .env
chmod 600 cloudflare.ini
* 啟動服務
docker compose up -d
===== 參考網址 =====
* https://docs.gitlab.com/ee/install/docker/index.html
* https://docs.gitlab.com/ee/ci/enable_or_disable_ci.html#site-wide-admin-setting
* https://gitlab.com/gitlab-org/gitlab/-/issues/25876
* https://docs.gitlab.com/ee/api/settings.html
{{tag>gitlab tips}}