Skip to content

Build Git Server Using GitLab with Podman

Goals- Running GitLab Server on Linux with Podman

Requirements- Linux Server with Podman

1.Configgithub.rbConfiggithub.rbfile 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->Map the local 10443 port to 443 in the container
## 3. Update GitLab### (1). BackUpBackup Repository with following command
gitlab-rake gitlab:backup:create ```

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

[2]. Build-a-Git-Using-Gogs [3]. Podman-Volumes-and-SELinux [4]. Manage-Podman-Container-With-Systemd