GitLab: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
Line 232: Line 232:
* [https://docs.gitlab.com/omnibus/settings/rpi.html GitLab Install on a Raspberry Pi OS]
* [https://docs.gitlab.com/omnibus/settings/rpi.html GitLab Install on a Raspberry Pi OS]
* [https://gitlab.com/groups/gitlab-org/-/epics/2370 Support running GitLab on ARM64]
* [https://gitlab.com/groups/gitlab-org/-/epics/2370 Support running GitLab on ARM64]
* [https://packages.gitlab.com/gitlab/raspberry-pi2 GitLab Repository for Rasbian]


|}
|}

Revision as of 03:42, 30 August 2020

Linux:
export GITLAB_HOME=/srv/gitlab
MacOS:
export GITLAB_HOME=$HOME/gitlab
Local location Container location Usage
$GITLAB_HOME/gitlab13/data /var/opt/gitlab Application data
$GITLAB_HOME/gitlab13/logs /var/log/gitlab Application Logs
$GITLAB_HOME/gitlab13/config /etc/gitlab GitLab configuration
docker run -it --rm \
--publish 9050:80 \
--publish 4321:22 \
--publish 4430:443 \
gitlab/gitlab-ce:13.2.3-ce.0 \
bin/bash
id; exit
mkdir -p $GITLAB_HOME/gitlab13/{config,data,logs}
#chown -R 0:0 $GITLAB_HOME/gitlab13/

Docker

Debian

docker run --detach \
--hostname cdn.chorke.org \
--env GITLAB_OMNIBUS_CONFIG="external_url 'https://cdn.chorke.org/gitlab'; gitlab_rails['lfs_enabled'] = true;" \
--publish 4430:443 \
--publish 9050:80 \
--publish 4321:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/gitlab13/config:/etc/gitlab \
--volume $GITLAB_HOME/gitlab13/logs:/var/log/gitlab \
--volume $GITLAB_HOME/gitlab13/data:/var/opt/gitlab \
gitlab/gitlab-ce:13.2.3-ce.0

CentOS

docker run --detach \
--hostname cdn.chorke.org \
--env GITLAB_OMNIBUS_CONFIG="external_url 'https://cdn.chorke.org/gitlab'; gitlab_rails['lfs_enabled'] = true;" \
--publish 4430:443 \
--publish 9050:80 \
--publish 4321:22 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/gitlab13/config:/etc/gitlab:Z \
--volume $GITLAB_HOME/gitlab13/logs:/var/log/gitlab:Z \
--volume $GITLAB_HOME/gitlab13/data:/var/opt/gitlab:Z \
gitlab/gitlab-ce:13.2.3-ce.0

Mailer

docker exec -it gitlab vim /etc/gitlab/gitlab.rb

gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '[email protected]'
gitlab_rails['gitlab_email_display_name'] = 'GitLab'
gitlab_rails['gitlab_email_reply_to'] = '[email protected]'
gitlab_rails['gitlab_email_subject_suffix'] = 'GitLab'

docker exec -it gitlab vim /etc/gitlab/gitlab.rb

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "mail.chorke.org"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "p@$$w0rd"
gitlab_rails['smtp_domain'] = "mail.chorke.org"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_tls'] = false

docker exec -it gitlab vim /etc/gitlab/gitlab.rb

gitlab_rails['smtp_openssl_verify_mode'] = 'none'

Apache

CentOS 7

vim /etc/httpd/conf.sites.d/00-cdn.chorke.org-le-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
    SSLProxyEngine On
    ProxyRequests Off
    SSLProxyVerify None
    ProxyPreserveHost On
    AllowEncodedSlashes On
    SSLProxyCheckPeerCN Off
    SSLProxyCheckPeerName Off
    SSLProxyCheckPeerExpire Off
    #....misc apache cfg....

    <Location /gitlab>
        Order Allow,Deny
        Allow from all
        ProxyPass https://localhost:4430/gitlab nocanon
        ProxyPassReverse https://localhost:4430/gitlab
    </Location>

    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/cdn.chorke.org/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/cdn.chorke.org/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/cdn.chorke.org/chain.pem
</VirtualHost>
</IfModule>

Runner

docker pull gitlab/gitlab-runner:latest
docker pull gitlab/gitlab-runner:alpine

Debian

docker run --detach \
--name gitlab-runner \
--restart always \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume /srv/gitlab-runner/config:/etc/gitlab-runner \
gitlab/gitlab-runner:latest

CentOS

docker run --detach \
--name gitlab-runner \
--restart always \
--volume /var/run/docker.sock:/var/run/docker.sock \
--volume /srv/gitlab-runner/config:/etc/gitlab-runner:Z \
gitlab/gitlab-runner:v13.2.2

MacOS

brew install gitlab-runner
brew services start gitlab-runner
brew services stop gitlab-runner

Knowledge

SSH Local Forwarding:
ssh -L 9050:localhost:9050 [email protected]
http://localhost:9050/
user: root
pass: 5iveL!fe
Sign-up Restrictions:
https://cdn.chorke.org/gitlab/admin/application_settings/general
Sign-up enabled (Unchecked)
docker logs gitlab
docker restart gitlab
docker exec -it gitlab /bin/bash
docker exec gitlab update-permissions
docker exec -it gitlab vim /etc/gitlab/gitlab.rb
docker logs gitlab-runner
docker restart gitlab-runner
docker exec -it gitlab-runner gitlab-runner --help
docker exec -it gitlab-runner gitlab-runner register
docker exec -it gitlab-runner gitlab-runner list
docker exec -it gitlab-runner gitlab-runner verify
docker exec -it gitlab-runner gitlab-runner verify --delete
docker-machine create --driver virtualbox default
docker-machine start default
docker-machine stop default
docker-machine ip default
docker-machine ls

SELinux:
https://docs.gitlab.com/runner/install/docker.html#selinux
https://github.com/dpw/selinux-dockersock
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

References