We have an issue with our GitLab instance (gitlab omnibus through docker), where it freezes up the entire VPS machine. After a while, when the VPS machine gets unstuck(?). Top reports to have a load avarage of 40. The freezes seems to be random.
We’ve tried looking into the logs, but not really sure where to look or what might go wrong.
The specs of the VPS machine is:
4GB Ram / 2 CPU Cores / 150GB Disk space
docker-compose.yml
version: ‘3’
services:
gitlab:
image: gitlab/gitlab-ce:latest
restart: always
hostname: project.example.com
ports:
- 22:22
- 192.168.0.6:8888:80
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://project.example.com'
nginx['listen_port'] = 80
nginx['listen_https'] = false
nginx['http2_enabled'] = false
nginx['proxy_set_headers'] = {
"Host" => "$$http_host",
"X-Real-IP" => "$$remote_addr",
"X-Forwarded-For" => "$$proxy_add_x_forwarded_for",
"X-Forwarded-Proto" => "https",
"X-Forwarded-Ssl" => "on"
}
gitlab_rails['gitlab_shell_ssh_port'] = 22
registry_external_url 'https://registry.example.com'
registry_nginx['listen_port'] = 5100
registry_nginx['listen_https'] = false
registry_nginx['proxy_set_headers'] = {
"Host" => "$$http_host",
"X-Real-IP" => "$$remote_addr",
"X-Forwarded-For" => "$$proxy_add_x_forwarded_for",
"X-Forwarded-Proto" => "https",
"X-Forwarded-Ssl" => "on"
}
pages_external_url 'https://pages.example.com'
pages_nginx['listen_port'] = 5200
pages_nginx['listen_https'] = false
pages_nginx['proxy_set_headers'] = {
"Host" => "$$http_host",
"X-Real-IP" => "$$remote_addr",
"X-Forwarded-For" => "$$proxy_add_x_forwarded_for",
"X-Forwarded-Proto" => "https",
"X-Forwarded-Ssl" => "on"
}
gitlab_pages['inplace_chroot'] = true
gitlab_pages['external_http'] = ['gitlab:5201']
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.mailgun.org"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_authentication'] = "plain"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_user_name'] = "postmaster@project.example.com"
gitlab_rails['smtp_password'] = "PASSWORD"
gitlab_rails['smtp_domain'] = "project.example.com"
gitlab_rails['incoming_email_enabled'] = true
gitlab_rails['incoming_email_address'] = "incoming+%{key}@project.example.com"
gitlab_rails['incoming_email_email'] = "incoming@project.example.com"
gitlab_rails['incoming_email_password'] = "PASSWORD"
gitlab_rails['incoming_email_host'] = "node1.hosting.example.com"
gitlab_rails['incoming_email_port'] = 143
gitlab_rails['incoming_email_ssl'] = false
gitlab_rails['incoming_email_start_tls'] = false
gitlab_rails['incoming_email_mailbox_name'] = "inbox"
gitlab_rails['incoming_email_idle_timeout'] = 60
volumes:
- ./config:/etc/gitlab
- ./logs:/var/log/gitlab
- ./data:/var/opt/gitlab
labels:
- traefik.docker.network=traefik
- traefik.enabled=true
- traefik.gitlab.frontend.rule=Host:project.example.com
- traefik.gitlab.port=80
- traefik.registry.frontend.rule=Host:registry.example.com
- traefik.registry.port=5100
- traefik.pages.frontend.rule=Host:pages.example.com
- traefik.pages.port=5201
networks:
- traefik
networks:
traefik:
external: true