2025年5月24日 14:26:59 星期六

使用容器搭建自己的gitlab

首先,下载镜像:

  1. docker pull gitlab/gitlab-ce:latest

启动镜像,注意先建立/home/gitlab,免得容器销毁数据全无。
还要注意,因为git使用22号端口,这里映射的是1222端口。所以,只能使用http方式来进行项目的clone和操作。

  1. docker run \
  2. --hostname git.superpig.win \
  3. --publish 1443:443 --publish 1880:80 --publish 1222:22 \
  4. --name gitlab \
  5. --volume /home/gitlab/config:/etc/gitlab \
  6. --volume /home/gitlab/logs:/var/log/gitlab \
  7. --volume /home/gitlab/data:/var/opt/gitlab \
  8. gitlab/gitlab-ce

漫长的等待,可以先配下nginx,注意要先申请好证书,证书默认会在/etc/letsencrypt/live/git.superpig.win/fullchain.pem 。而且,域名商那边也要设置git.superpig.win的A记录。

  1. server {
  2. listen 80;
  3. server_tokens off;
  4. # access_log /var/log/nginx/web2.access.log main;
  5. server_name git.superpig.win;
  6. location ^~ / {
  7. rewrite ^ https://$server_name:443$request_uri? permanent;
  8. }
  9. }
  10. server{
  11. listen 443 ssl;
  12. server_name git.superpig.win;
  13. gzip on;
  14. gzip_proxied any;
  15. gzip_min_length 1024;
  16. gzip_comp_level 3;
  17. gzip_types text/plain text/javascript text/css text/json application/javascript application/json image/jpeg image/gif image/png;
  18. ssl on;
  19. ssl_certificate /etc/letsencrypt/live/git.superpig.win/fullchain.pem;
  20. ssl_certificate_key /etc/letsencrypt/live/git.superpig.win/privkey.pem;
  21. ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
  22. ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
  23. ssl_prefer_server_ciphers on;
  24. location / {
  25. proxy_pass http://127.0.0.1:1880;
  26. proxy_set_header Host $host;
  27. proxy_set_header X-Real-IP $remote_addr;
  28. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  29. proxy_redirect off;
  30. proxy_set_header X-Forwarded-Proto $scheme;
  31. }
  32. }

此时,重启nginx,然后键入https://git.superpig.win,如果没有问题,会出现一个让你设置密码的网页,设置密码后,用 root:pwd 登录,进入项目,该怎么玩就怎么玩。
恭喜,你已经有自己的gitlab了。

来自 大脸猫 写于 2018-12-16 18:37 -- 更新于2020-10-19 13:06 -- 1 条评论

1条评论

字体
字号


评论:

● 来自 大猪 写于 2018-12-17 15:38 回复

gitlab占用天多资源。不好玩。用码云了。