Skip to content

Build Git Server Using GitLab with Podman

Goals

  • Running GitLab Server on Linux with Podman

Requirements

  • Linux Server with Podman

1. Config github.rb

Config github.rb file with following options

external_url 'http://127.0.0.1:8929'
gitlab_rails['gitlab_ssh_host'] = 'gitlab.yourdomain.com'
gitlab_rails['gitlab_shell_ssh_port'] = 22
nginx['listen_addresses'] = ['*', '[::]']
nginx['listen_port'] = 8929

Change external_url starting with https:// to enable HTTPS, working on port 443.

2. Install GitLab with Podman

(1). Download dockerhub image

podman pull docker.io/gitlab/gitlab-ce:latest

(2). Run Container

podman run --detach --privileged \
    --name gitlab \
    --hostname gitlab.yourdomain.com \
    --user $(id -u):$(id -g) \
    --network bridge \
    --net pod-net \
    --health-cmd="/opt/gitlab/bin/gitlab-healthcheck" \
    --health-retries=5 \
    --health-interval=5m \
    --health-start-period=5m \
    -p 127.0.0.1:10443:443 \
    -v ./config:/etc/gitlab:z \
    -v ./logs:/var/log/gitlab:z \
    -v ./data:/var/opt/gitlab:z \
    --shm-size 256m \
    --group-add keep-groups \
    docker.io/gitlab/gitlab-ce:latest
- 10443:443->将本机10443端口映射到容器内的443

3. Update GitLab

(1). BackUp

Backup Repository with following command

gitlab-rake gitlab:backup:create

REF

[1]. https://zhuanlan.zhihu.com/p/531244799