mirror of
https://github.com/YunoHost-Apps/gitlab_ynh.git
synced 2024-09-03 18:36:35 +02:00
commit
33914834cf
11 changed files with 352 additions and 83 deletions
|
@ -10,7 +10,7 @@ If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to
|
||||||
|
|
||||||
GitLab is a web-based Git-repository manager providing wiki, issue-tracking and CI/CD pipeline features, using an open-source license, developed by GitLab Inc.
|
GitLab is a web-based Git-repository manager providing wiki, issue-tracking and CI/CD pipeline features, using an open-source license, developed by GitLab Inc.
|
||||||
|
|
||||||
**Shipped version:** 12.1.6
|
**Shipped version:** 12.2.4
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
|
|
|
@ -109,7 +109,7 @@ external_url '__GENERATED_EXTERNAL_URL__'
|
||||||
###! https://docs.gitlab.com/ce/ci/yaml/README.html#artifacts:expire_in
|
###! https://docs.gitlab.com/ce/ci/yaml/README.html#artifacts:expire_in
|
||||||
# gitlab_rails['stuck_ci_jobs_worker_cron'] = "0 0 * * *"
|
# gitlab_rails['stuck_ci_jobs_worker_cron'] = "0 0 * * *"
|
||||||
# gitlab_rails['expire_build_artifacts_worker_cron'] = "50 * * * *"
|
# gitlab_rails['expire_build_artifacts_worker_cron'] = "50 * * * *"
|
||||||
# gitlab_rails['pipeline_schedule_worker_cron'] = "41 * * * *"
|
# gitlab_rails['pipeline_schedule_worker_cron'] = "19 * * * *"
|
||||||
# gitlab_rails['ci_archive_traces_cron_worker_cron'] = "17 * * * *"
|
# gitlab_rails['ci_archive_traces_cron_worker_cron'] = "17 * * * *"
|
||||||
# gitlab_rails['repository_check_worker_cron'] = "20 * * * *"
|
# gitlab_rails['repository_check_worker_cron'] = "20 * * * *"
|
||||||
# gitlab_rails['admin_email_worker_cron'] = "0 0 * * 0"
|
# gitlab_rails['admin_email_worker_cron'] = "0 0 * * 0"
|
||||||
|
@ -131,6 +131,34 @@ external_url '__GENERATED_EXTERNAL_URL__'
|
||||||
###! will appear signed in from that address.**
|
###! will appear signed in from that address.**
|
||||||
# gitlab_rails['trusted_proxies'] = []
|
# gitlab_rails['trusted_proxies'] = []
|
||||||
|
|
||||||
|
### Content Security Policy
|
||||||
|
####! Customize if you want to enable the Content-Security-Policy header, which
|
||||||
|
####! can help thwart JavaScript cross-site scripting (XSS) attacks.
|
||||||
|
####! See: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
|
||||||
|
# gitlab_rails['content_security_policy'] = {
|
||||||
|
# 'enabled' => false,
|
||||||
|
# 'report_only' => false,
|
||||||
|
# # Each directive is a String (e.g. "'self'").
|
||||||
|
# 'directives' => {
|
||||||
|
# 'base_uri' => nil,
|
||||||
|
# 'child_src' => nil,
|
||||||
|
# 'connect_src' => nil,
|
||||||
|
# 'default_src' => nil,
|
||||||
|
# 'font_src' => nil,
|
||||||
|
# 'form_action' => nil,
|
||||||
|
# 'frame_ancestors' => nil,
|
||||||
|
# 'frame_src' => nil,
|
||||||
|
# 'img_src' => nil,
|
||||||
|
# 'manifest_src' => nil,
|
||||||
|
# 'media_src' => nil,
|
||||||
|
# 'object_src' => nil,
|
||||||
|
# 'script_src' => nil,
|
||||||
|
# 'style_src' => nil,
|
||||||
|
# 'worker_src' => nil,
|
||||||
|
# 'report_uri' => nil,
|
||||||
|
# }
|
||||||
|
# }
|
||||||
|
|
||||||
### Monitoring settings
|
### Monitoring settings
|
||||||
###! IP whitelist controlling access to monitoring endpoints
|
###! IP whitelist controlling access to monitoring endpoints
|
||||||
# gitlab_rails['monitoring_whitelist'] = ['127.0.0.0/8', '::1/128']
|
# gitlab_rails['monitoring_whitelist'] = ['127.0.0.0/8', '::1/128']
|
||||||
|
@ -438,7 +466,7 @@ gitlab_rails['gitlab_shell_ssh_port'] = __SSH_PORT__
|
||||||
#### Set path to an initial license to be used while bootstrapping GitLab.
|
#### Set path to an initial license to be used while bootstrapping GitLab.
|
||||||
####! **Only applicable on initial setup, future license updations need to be done via UI.
|
####! **Only applicable on initial setup, future license updations need to be done via UI.
|
||||||
####! Updating the file specified in this path won't yield any change after the first reconfigure run.
|
####! Updating the file specified in this path won't yield any change after the first reconfigure run.
|
||||||
# gitlab_rails['iniitial_license_file'] = '/etc/gitlab/company.gitlab-license'
|
# gitlab_rails['initial_license_file'] = '/etc/gitlab/company.gitlab-license'
|
||||||
|
|
||||||
#### Enable or disable automatic database migrations
|
#### Enable or disable automatic database migrations
|
||||||
# gitlab_rails['auto_migrate'] = true
|
# gitlab_rails['auto_migrate'] = true
|
||||||
|
@ -527,7 +555,7 @@ gitlab_rails['gitlab_shell_ssh_port'] = __SSH_PORT__
|
||||||
##! Docs: https://docs.gitlab.com/ce/administration/container_registry.html
|
##! Docs: https://docs.gitlab.com/ce/administration/container_registry.html
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
# registry_external_url 'https://registry.gitlab.example.com'
|
# registry_external_url 'https://registry.example.com'
|
||||||
|
|
||||||
### Settings used by GitLab application
|
### Settings used by GitLab application
|
||||||
# gitlab_rails['registry_enabled'] = true
|
# gitlab_rails['registry_enabled'] = true
|
||||||
|
@ -570,6 +598,7 @@ gitlab_rails['gitlab_shell_ssh_port'] = __SSH_PORT__
|
||||||
# 's3' => {
|
# 's3' => {
|
||||||
# 'accesskey' => 'AKIAKIAKI',
|
# 'accesskey' => 'AKIAKIAKI',
|
||||||
# 'secretkey' => 'secret123',
|
# 'secretkey' => 'secret123',
|
||||||
|
# 'region' => 'us-east-1',
|
||||||
# 'bucket' => 'gitlab-registry-bucket-AKIAKIAKI'
|
# 'bucket' => 'gitlab-registry-bucket-AKIAKIAKI'
|
||||||
# }
|
# }
|
||||||
# }
|
# }
|
||||||
|
@ -894,6 +923,9 @@ sidekiq['listen_port'] = __SIDEKIQ_PORT__
|
||||||
# See https://www.postgresql.org/docs/9.6/static/auth-pg-hba-conf.html for an explanation
|
# See https://www.postgresql.org/docs/9.6/static/auth-pg-hba-conf.html for an explanation
|
||||||
# of the values
|
# of the values
|
||||||
|
|
||||||
|
### Version settings
|
||||||
|
# Set this if you have disabled the bundled PostgreSQL but still want to use the backup rake tasks
|
||||||
|
# postgresql['version'] = 10
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
## GitLab Redis
|
## GitLab Redis
|
||||||
|
@ -918,6 +950,16 @@ sidekiq['listen_port'] = __SIDEKIQ_PORT__
|
||||||
# redis['uid'] = nil
|
# redis['uid'] = nil
|
||||||
# redis['gid'] = nil
|
# redis['gid'] = nil
|
||||||
|
|
||||||
|
### Disable or obfuscate unnecessary redis command names
|
||||||
|
### Uncomment and edit this block to add or remove entries.
|
||||||
|
### See https://docs.gitlab.com/omnibus/settings/redis.html#renamed-commands
|
||||||
|
### for detailed usage
|
||||||
|
###
|
||||||
|
# redis['rename_commands'] = {
|
||||||
|
# 'KEYS': ''
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
|
||||||
###! **To enable only Redis service in this machine, uncomment
|
###! **To enable only Redis service in this machine, uncomment
|
||||||
###! one of the lines below (choose master or slave instance types).**
|
###! one of the lines below (choose master or slave instance types).**
|
||||||
###! Docs: https://docs.gitlab.com/omnibus/settings/redis.html
|
###! Docs: https://docs.gitlab.com/omnibus/settings/redis.html
|
||||||
|
@ -1003,12 +1045,12 @@ nginx['client_max_body_size'] = '__CLIENT_MAX_BODY_SIZE__'
|
||||||
|
|
||||||
# nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt"
|
# nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt"
|
||||||
# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key"
|
# nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key"
|
||||||
# nginx['ssl_ciphers'] = "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256"
|
# nginx['ssl_ciphers'] = "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256"
|
||||||
# nginx['ssl_prefer_server_ciphers'] = "on"
|
# nginx['ssl_prefer_server_ciphers'] = "on"
|
||||||
|
|
||||||
##! **Recommended by: https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
|
##! **Recommended by: https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
|
||||||
##! https://cipherli.st/**
|
##! https://cipherli.st/**
|
||||||
# nginx['ssl_protocols'] = "TLSv1.2"
|
# nginx['ssl_protocols'] = "TLSv1.2 TLSv1.3"
|
||||||
|
|
||||||
##! **Recommended in: https://nginx.org/en/docs/http/ngx_http_ssl_module.html**
|
##! **Recommended in: https://nginx.org/en/docs/http/ngx_http_ssl_module.html**
|
||||||
# nginx['ssl_session_cache'] = "builtin:1000 shared:SSL:10m"
|
# nginx['ssl_session_cache'] = "builtin:1000 shared:SSL:10m"
|
||||||
|
@ -1266,6 +1308,9 @@ nginx['listen_https'] = false
|
||||||
# gitlab_pages['gitlab_server'] = nil # Defaults to external_url
|
# gitlab_pages['gitlab_server'] = nil # Defaults to external_url
|
||||||
# gitlab_pages['auth_secret'] = nil # Generated if not present
|
# gitlab_pages['auth_secret'] = nil # Generated if not present
|
||||||
|
|
||||||
|
##! Define custom gitlab-pages HTTP headers for the whole instance
|
||||||
|
# gitlab_pages['headers'] = []
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
## GitLab Pages NGINX
|
## GitLab Pages NGINX
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -1440,9 +1485,9 @@ nginx['listen_https'] = false
|
||||||
### Custom Prometheus flags
|
### Custom Prometheus flags
|
||||||
#
|
#
|
||||||
# prometheus['flags'] = {
|
# prometheus['flags'] = {
|
||||||
# 'storage.tsdb.path' => "#{node['gitlab']['prometheus']['home']}/data",
|
# 'storage.tsdb.path' => "/var/opt/gitlab/prometheus/data",
|
||||||
# 'storage.tsdb.retention.time' => "15d",
|
# 'storage.tsdb.retention.time' => "15d",
|
||||||
# 'config.file' => "#{node['gitlab']['prometheus']['home']}/prometheus.yml"
|
# 'config.file' => "/var/opt/gitlab/prometheus/prometheus.yml"
|
||||||
# }
|
# }
|
||||||
|
|
||||||
##! Advanced settings. Should be changed only if absolutely needed.
|
##! Advanced settings. Should be changed only if absolutely needed.
|
||||||
|
@ -1457,9 +1502,9 @@ nginx['listen_https'] = false
|
||||||
# alertmanager['log_directory'] = '/var/log/gitlab/alertmanager'
|
# alertmanager['log_directory'] = '/var/log/gitlab/alertmanager'
|
||||||
# alertmanager['admin_email'] = 'admin@example.com'
|
# alertmanager['admin_email'] = 'admin@example.com'
|
||||||
# alertmanager['flags'] = {
|
# alertmanager['flags'] = {
|
||||||
# 'web.listen-address' => "#{node['gitlab']['alertmanager']['listen_address']}"
|
# 'web.listen-address' => "localhost:9093"
|
||||||
# 'storage.path' => "#{node['gitlab']['alertmanager']['home']}/data"
|
# 'storage.path' => "/var/opt/gitlab/alertmanager/data"
|
||||||
# 'config.file' => "#{node['gitlab']['alertmanager']['home']}/alertmanager.yml"
|
# 'config.file' => "/var/opt/gitlab/alertmanager/alertmanager.yml"
|
||||||
# }
|
# }
|
||||||
# alertmanager['env_directory'] = '/opt/gitlab/etc/alertmanager/env'
|
# alertmanager['env_directory'] = '/opt/gitlab/etc/alertmanager/env'
|
||||||
# alertmanager['env'] = {
|
# alertmanager['env'] = {
|
||||||
|
@ -1478,7 +1523,7 @@ nginx['listen_https'] = false
|
||||||
# node_exporter['home'] = '/var/opt/gitlab/node-exporter'
|
# node_exporter['home'] = '/var/opt/gitlab/node-exporter'
|
||||||
# node_exporter['log_directory'] = '/var/log/gitlab/node-exporter'
|
# node_exporter['log_directory'] = '/var/log/gitlab/node-exporter'
|
||||||
# node_exporter['flags'] = {
|
# node_exporter['flags'] = {
|
||||||
# 'collector.textfile.directory' => "#{node['gitlab']['node-exporter']['home']}/textfile_collector"
|
# 'collector.textfile.directory' => "/var/opt/gitlab/node-exporter/textfile_collector"
|
||||||
# }
|
# }
|
||||||
# node_exporter['env_directory'] = '/opt/gitlab/etc/node-exporter/env'
|
# node_exporter['env_directory'] = '/opt/gitlab/etc/node-exporter/env'
|
||||||
# node_exporter['env'] = {
|
# node_exporter['env'] = {
|
||||||
|
@ -1496,7 +1541,7 @@ nginx['listen_https'] = false
|
||||||
# redis_exporter['enable'] = true
|
# redis_exporter['enable'] = true
|
||||||
# redis_exporter['log_directory'] = '/var/log/gitlab/redis-exporter'
|
# redis_exporter['log_directory'] = '/var/log/gitlab/redis-exporter'
|
||||||
# redis_exporter['flags'] = {
|
# redis_exporter['flags'] = {
|
||||||
# 'redis.addr' => "unix://#{node['gitlab']['gitlab-rails']['redis_socket']}",
|
# 'redis.addr' => "unix:///var/opt/gitlab/redis/redis.socket",
|
||||||
# }
|
# }
|
||||||
# redis_exporter['env_directory'] = '/opt/gitlab/etc/redis-exporter/env'
|
# redis_exporter['env_directory'] = '/opt/gitlab/etc/redis-exporter/env'
|
||||||
# redis_exporter['env'] = {
|
# redis_exporter['env'] = {
|
||||||
|
@ -1565,6 +1610,8 @@ grafana['enable'] = false
|
||||||
# grafana['home'] = '/var/opt/gitlab/grafana'
|
# grafana['home'] = '/var/opt/gitlab/grafana'
|
||||||
# grafana['admin_password'] = 'admin'
|
# grafana['admin_password'] = 'admin'
|
||||||
# grafana['allow_user_sign_up'] = false
|
# grafana['allow_user_sign_up'] = false
|
||||||
|
# grafana['basic_auth_enabled'] = false
|
||||||
|
# grafana['disable_login_form'] = true
|
||||||
# grafana['gitlab_application_id'] = 'GITLAB_APPLICATION_ID'
|
# grafana['gitlab_application_id'] = 'GITLAB_APPLICATION_ID'
|
||||||
# grafana['gitlab_secret'] = 'GITLAB_SECRET'
|
# grafana['gitlab_secret'] = 'GITLAB_SECRET'
|
||||||
# grafana['env_directory'] = '/opt/gitlab/etc/grafana/env'
|
# grafana['env_directory'] = '/opt/gitlab/etc/grafana/env'
|
||||||
|
|
|
@ -11,9 +11,11 @@
|
||||||
"id": "is_public",
|
"id": "is_public",
|
||||||
"options": [
|
"options": [
|
||||||
{
|
{
|
||||||
"name": "Is it a public app ?",
|
"name": "is_public",
|
||||||
"id": "is_public",
|
"ask": {
|
||||||
"type": "bool",
|
"en": "Is it a public app ?"
|
||||||
|
},
|
||||||
|
"type": "boolean",
|
||||||
"default": true
|
"default": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -23,10 +25,12 @@
|
||||||
"id": "overwrite_files",
|
"id": "overwrite_files",
|
||||||
"options": [
|
"options": [
|
||||||
{
|
{
|
||||||
"name": "Overwrite the nginx config file ?",
|
"name": "overwrite_nginx",
|
||||||
|
"ask": {
|
||||||
|
"en": "Overwrite the nginx config file ?"
|
||||||
|
},
|
||||||
"help": "If the file is overwritten, a backup will be created.",
|
"help": "If the file is overwritten, a backup will be created.",
|
||||||
"id": "overwrite_nginx",
|
"type": "boolean",
|
||||||
"type": "bool",
|
|
||||||
"default": true
|
"default": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -36,10 +40,91 @@
|
||||||
"id": "users",
|
"id": "users",
|
||||||
"options": [
|
"options": [
|
||||||
{
|
{
|
||||||
"name": "Authorized external user creation ?",
|
"name": "use_web_account",
|
||||||
|
"ask": {
|
||||||
|
"en": "Authorized external user creation ?"
|
||||||
|
},
|
||||||
"help": "Allow user to be created without yunohost account.",
|
"help": "Allow user to be created without yunohost account.",
|
||||||
"id": "use_web_account",
|
"type": "boolean",
|
||||||
"type": "bool",
|
"default": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Backup strategy",
|
||||||
|
"id": "backup_strategy",
|
||||||
|
"help": "WARNING: If you disable one of these backup, it will not be restored in case of error, use this feature at your own risk",
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"name": "backup_db",
|
||||||
|
"ask": {
|
||||||
|
"en": "Should gitlab backup the database ?"
|
||||||
|
},
|
||||||
|
"help": "https://docs.gitlab.com/ce/raketasks/backup_restore.html#excluding-specific-directories-from-the-backup",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "backup_uploads",
|
||||||
|
"ask": {
|
||||||
|
"en": "Should gitlab backup attachments ?"
|
||||||
|
},
|
||||||
|
"help": "https://docs.gitlab.com/ce/raketasks/backup_restore.html#excluding-specific-directories-from-the-backup",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "backup_repositories",
|
||||||
|
"ask": {
|
||||||
|
"en": "Should gitlab backup git repositories data ?"
|
||||||
|
},
|
||||||
|
"help": "https://docs.gitlab.com/ce/raketasks/backup_restore.html#excluding-specific-directories-from-the-backup",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "backup_builds",
|
||||||
|
"ask": {
|
||||||
|
"en": "Should gitlab backup CI job output logs ?"
|
||||||
|
},
|
||||||
|
"help": "https://docs.gitlab.com/ce/raketasks/backup_restore.html#excluding-specific-directories-from-the-backup",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "backup_artifacts",
|
||||||
|
"ask": {
|
||||||
|
"en": "Should gitlab backup CI job artifacts ?"
|
||||||
|
},
|
||||||
|
"help": "https://docs.gitlab.com/ce/raketasks/backup_restore.html#excluding-specific-directories-from-the-backup",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "backup_lfs",
|
||||||
|
"ask": {
|
||||||
|
"en": "Should gitlab backup LFS objects ?"
|
||||||
|
},
|
||||||
|
"help": "https://docs.gitlab.com/ce/raketasks/backup_restore.html#excluding-specific-directories-from-the-backup",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "backup_registry",
|
||||||
|
"ask": {
|
||||||
|
"en": "Should gitlab backup container registry images ?"
|
||||||
|
},
|
||||||
|
"help": "https://docs.gitlab.com/ce/raketasks/backup_restore.html#excluding-specific-directories-from-the-backup",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "backup_pages",
|
||||||
|
"ask": {
|
||||||
|
"en": "Should gitlab backup pages content ?"
|
||||||
|
},
|
||||||
|
"help": "https://docs.gitlab.com/ce/raketasks/backup_restore.html#excluding-specific-directories-from-the-backup",
|
||||||
|
"type": "boolean",
|
||||||
"default": true
|
"default": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"name": "Gitlab",
|
"name": "Gitlab",
|
||||||
"id": "gitlab",
|
"id": "gitlab",
|
||||||
"packaging_format": 1,
|
"packaging_format": 1,
|
||||||
"version": "12.1.6~ynh1",
|
"version": "12.2.4~ynh1",
|
||||||
"description": {
|
"description": {
|
||||||
"en": "GitLab is a Git-repository manager.",
|
"en": "GitLab is a Git-repository manager.",
|
||||||
"fr": "GitLab est un gestionnaire de dépôts Git."
|
"fr": "GitLab est un gestionnaire de dépôts Git."
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
"email": "pierre@kayou.io"
|
"email": "pierre@kayou.io"
|
||||||
},
|
},
|
||||||
"requirements": {
|
"requirements": {
|
||||||
"yunohost": ">= 3.5.0"
|
"yunohost": ">= 3.6.0"
|
||||||
},
|
},
|
||||||
"multi_instance": false,
|
"multi_instance": false,
|
||||||
"services": [
|
"services": [
|
||||||
|
|
|
@ -4,25 +4,7 @@
|
||||||
# SET ALL CONSTANTS
|
# SET ALL CONSTANTS
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
pkg_dependencies="openssh-server"
|
pkg_dependencies="openssh-server bc"
|
||||||
|
|
||||||
#=================================================
|
|
||||||
# BOOLEAN CONVERTER
|
|
||||||
#=================================================
|
|
||||||
|
|
||||||
bool_to_01 () {
|
|
||||||
local var="$1"
|
|
||||||
[ "$var" = "true" ] && var=1
|
|
||||||
[ "$var" = "false" ] && var=0
|
|
||||||
echo "$var"
|
|
||||||
}
|
|
||||||
|
|
||||||
bool_to_true_false () {
|
|
||||||
local var="$1"
|
|
||||||
[ "$var" = "1" ] && var=true
|
|
||||||
[ "$var" = "0" ] && var=false
|
|
||||||
echo "$var"
|
|
||||||
}
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# EXPERIMENTAL HELPERS
|
# EXPERIMENTAL HELPERS
|
||||||
|
|
|
@ -32,6 +32,15 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
||||||
config_path=$(ynh_app_setting_get --app=$app --key=config_path)
|
config_path=$(ynh_app_setting_get --app=$app --key=config_path)
|
||||||
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
||||||
|
|
||||||
|
backup_db=$(ynh_app_setting_get --app="$app" --key=backup_db)
|
||||||
|
backup_uploads=$(ynh_app_setting_get --app="$app" --key=backup_uploads)
|
||||||
|
backup_repositories=$(ynh_app_setting_get --app="$app" --key=backup_repositories)
|
||||||
|
backup_builds=$(ynh_app_setting_get --app="$app" --key=backup_builds)
|
||||||
|
backup_artifacts=$(ynh_app_setting_get --app="$app" --key=backup_artifacts)
|
||||||
|
backup_lfs=$(ynh_app_setting_get --app="$app" --key=backup_lfs)
|
||||||
|
backup_registry=$(ynh_app_setting_get --app="$app" --key=backup_registry)
|
||||||
|
backup_pages=$(ynh_app_setting_get --app="$app" --key=backup_pages)
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# STANDARD BACKUP STEPS
|
# STANDARD BACKUP STEPS
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -46,10 +55,45 @@ ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Backuping of Gitlab..." --weight=9
|
ynh_script_progression --message="Backuping of Gitlab..." --weight=9
|
||||||
|
|
||||||
|
to_skip=""
|
||||||
|
|
||||||
|
if [ $backup_db -eq 0 ]; then
|
||||||
|
to_skip="db,"$to_skip
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $backup_uploads -eq 0 ]; then
|
||||||
|
to_skip="uploads,"$to_skip
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $backup_repositories -eq 0 ]; then
|
||||||
|
to_skip="repositories,"$to_skip
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $backup_builds -eq 0 ]; then
|
||||||
|
to_skip="builds,"$to_skip
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $backup_artifacts -eq 0 ]; then
|
||||||
|
to_skip="artifacts,"$to_skip
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $backup_lfs -eq 0 ]; then
|
||||||
|
to_skip="lfs,"$to_skip
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $backup_registry -eq 0 ]; then
|
||||||
|
to_skip="registry,"$to_skip
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $backup_pages -eq 0 ]; then
|
||||||
|
to_skip="pages,"$to_skip
|
||||||
|
fi
|
||||||
|
|
||||||
# Use gitlab-rake to backup
|
# Use gitlab-rake to backup
|
||||||
# For the complete doc: https://docs.gitlab.com/ce/raketasks/backup_restore.html
|
# For the complete doc: https://docs.gitlab.com/ce/raketasks/backup_restore.html
|
||||||
# For the filename: https://docs.gitlab.com/ce/raketasks/backup_restore.html#backup-filename
|
# For the filename: https://docs.gitlab.com/ce/raketasks/backup_restore.html#backup-filename
|
||||||
gitlab-rake gitlab:backup:create BACKUP=last
|
# For the backup strategy: https://docs.gitlab.com/ce/raketasks/backup_restore.html#excluding-specific-directories-from-the-backup
|
||||||
|
gitlab-backup create BACKUP=last SKIP=$to_skip
|
||||||
|
|
||||||
ynh_backup --src_path="/var/opt/$app/backups/last_gitlab_backup.tar"
|
ynh_backup --src_path="/var/opt/$app/backups/last_gitlab_backup.tar"
|
||||||
|
|
||||||
|
|
|
@ -27,19 +27,41 @@ app=${YNH_APP_INSTANCE_NAME:-$YNH_APP_ID}
|
||||||
|
|
||||||
# is_public
|
# is_public
|
||||||
old_is_public="$(ynh_app_setting_get --app=$app --key=is_public)"
|
old_is_public="$(ynh_app_setting_get --app=$app --key=is_public)"
|
||||||
old_is_public=$(bool_to_true_false $old_is_public)
|
|
||||||
is_public="${YNH_CONFIG_MAIN_IS_PUBLIC_IS_PUBLIC:-$old_is_public}"
|
is_public="${YNH_CONFIG_MAIN_IS_PUBLIC_IS_PUBLIC:-$old_is_public}"
|
||||||
|
|
||||||
# Overwrite nginx configuration
|
# Overwrite nginx configuration
|
||||||
old_overwrite_nginx="$(ynh_app_setting_get --app=$app --key=overwrite_nginx)"
|
old_overwrite_nginx="$(ynh_app_setting_get --app=$app --key=overwrite_nginx)"
|
||||||
old_overwrite_nginx=$(bool_to_true_false $old_overwrite_nginx)
|
|
||||||
overwrite_nginx="${YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_NGINX:-$old_overwrite_nginx}"
|
overwrite_nginx="${YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_NGINX:-$old_overwrite_nginx}"
|
||||||
|
|
||||||
# use_web_account
|
# use_web_account
|
||||||
old_use_web_account="$(ynh_app_setting_get --app=$app --key=use_web_account)"
|
old_use_web_account="$(ynh_app_setting_get --app=$app --key=use_web_account)"
|
||||||
old_use_web_account=$(bool_to_true_false $old_use_web_account)
|
|
||||||
use_web_account="${YNH_CONFIG_MAIN_USERS_USE_WEB_ACCOUNT:-$old_use_web_account}"
|
use_web_account="${YNH_CONFIG_MAIN_USERS_USE_WEB_ACCOUNT:-$old_use_web_account}"
|
||||||
|
|
||||||
|
# backup_strategy
|
||||||
|
old_backup_db="$(ynh_app_setting_get --app=$app --key=backup_db)"
|
||||||
|
backup_db="${YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_DB:-$old_backup_db}"
|
||||||
|
|
||||||
|
old_backup_uploads="$(ynh_app_setting_get --app=$app --key=backup_uploads)"
|
||||||
|
backup_uploads="${YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_UPLOADS:-$old_backup_uploads}"
|
||||||
|
|
||||||
|
old_backup_repositories="$(ynh_app_setting_get --app=$app --key=backup_repositories)"
|
||||||
|
backup_repositories="${YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_REPOSITORIES:-$old_backup_repositories}"
|
||||||
|
|
||||||
|
old_backup_builds="$(ynh_app_setting_get --app=$app --key=backup_builds)"
|
||||||
|
backup_builds="${YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_BUILDS:-$old_backup_builds}"
|
||||||
|
|
||||||
|
old_backup_artifacts="$(ynh_app_setting_get --app=$app --key=backup_artifacts)"
|
||||||
|
backup_artifacts="${YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_ARTIFACTS:-$old_backup_artifacts}"
|
||||||
|
|
||||||
|
old_backup_lfs="$(ynh_app_setting_get --app=$app --key=backup_lfs)"
|
||||||
|
backup_lfs="${YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_LFS:-$old_backup_lfs}"
|
||||||
|
|
||||||
|
old_backup_registry="$(ynh_app_setting_get --app=$app --key=backup_registry)"
|
||||||
|
backup_registry="${YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_REGISTRY:-$old_backup_registry}"
|
||||||
|
|
||||||
|
old_backup_pages="$(ynh_app_setting_get --app=$app --key=backup_pages)"
|
||||||
|
backup_pages="${YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_PAGES:-$old_backup_pages}"
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SHOW_CONFIG FUNCTION FOR 'SHOW' COMMAND
|
# SHOW_CONFIG FUNCTION FOR 'SHOW' COMMAND
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -48,11 +70,27 @@ show_config() {
|
||||||
# here you are supposed to read some config file/database/other then print the values
|
# here you are supposed to read some config file/database/other then print the values
|
||||||
# echo "YNH_CONFIG_${PANEL_ID}_${SECTION_ID}_${OPTION_ID}=value"
|
# echo "YNH_CONFIG_${PANEL_ID}_${SECTION_ID}_${OPTION_ID}=value"
|
||||||
|
|
||||||
echo "YNH_CONFIG_MAIN_IS_PUBLIC_IS_PUBLIC=$is_public"
|
ynh_return "YNH_CONFIG_MAIN_IS_PUBLIC_IS_PUBLIC=$is_public"
|
||||||
|
|
||||||
echo "YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_NGINX=$overwrite_nginx"
|
ynh_return "YNH_CONFIG_MAIN_OVERWRITE_FILES_OVERWRITE_NGINX=$overwrite_nginx"
|
||||||
|
|
||||||
echo "YNH_CONFIG_MAIN_USERS_USE_WEB_ACCOUNT=$use_web_account"
|
ynh_return "YNH_CONFIG_MAIN_USERS_USE_WEB_ACCOUNT=$use_web_account"
|
||||||
|
|
||||||
|
ynh_return "YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_DB=$backup_db"
|
||||||
|
|
||||||
|
ynh_return "YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_UPLOADS=$backup_uploads"
|
||||||
|
|
||||||
|
ynh_return "YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_REPOSITORIES=$backup_repositories"
|
||||||
|
|
||||||
|
ynh_return "YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_BUILDS=$backup_builds"
|
||||||
|
|
||||||
|
ynh_return "YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_ARTIFACTS=$backup_artifacts"
|
||||||
|
|
||||||
|
ynh_return "YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_LFS=$backup_lfs"
|
||||||
|
|
||||||
|
ynh_return "YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_REGISTRY=$backup_registry"
|
||||||
|
|
||||||
|
ynh_return "YNH_CONFIG_MAIN_BACKUP_STRATEGY_BACKUP_PAGES=$backup_pages"
|
||||||
}
|
}
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -61,23 +99,30 @@ show_config() {
|
||||||
|
|
||||||
apply_config() {
|
apply_config() {
|
||||||
# Change public accessibility
|
# Change public accessibility
|
||||||
if [ "$is_public" = "true" ]
|
yunohost app action run $app public_private --args is_public=$is_public
|
||||||
then
|
|
||||||
yunohost app action run $app public_private --args is_public=1
|
|
||||||
else
|
|
||||||
yunohost app action run $app public_private --args is_public=0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Change use_web_account
|
# Change use_web_account
|
||||||
if [ "$use_web_account" = "true" ]
|
yunohost app action run $app web_account --args use_web_account=$use_web_account
|
||||||
then
|
|
||||||
yunohost app action run $app web_account --args use_web_account=1
|
|
||||||
else
|
|
||||||
yunohost app action run $app web_account --args use_web_account=0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Set overwrite_nginx
|
# Set overwrite_nginx
|
||||||
ynh_app_setting_set --app=$app --key=overwrite_nginx --value="$overwrite_nginx"
|
ynh_app_setting_set --app=$app --key=overwrite_nginx --value="$overwrite_nginx"
|
||||||
|
|
||||||
|
# Set backup_db
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_db --value="$backup_db"
|
||||||
|
# Set backup_uploads
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_uploads --value="$backup_uploads"
|
||||||
|
# Set backup_repositories
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_repositories --value="$backup_repositories"
|
||||||
|
# Set backup_builds
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_builds --value="$backup_builds"
|
||||||
|
# Set backup_artifacts
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_artifacts --value="$backup_artifacts"
|
||||||
|
# Set backup_lfs
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_lfs --value="$backup_lfs"
|
||||||
|
# Set backup_registry
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_registry --value="$backup_registry"
|
||||||
|
# Set backup_pages
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_pages --value="$backup_pages"
|
||||||
}
|
}
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -54,18 +54,6 @@ else
|
||||||
your hardware and the result of the command \"uname -m\"." 1
|
your hardware and the result of the command \"uname -m\"." 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# https://docs.gitlab.com/ee/install/requirements.html#unicorn-workers
|
|
||||||
unicorn_worker_processes=$(($(nproc) + 1 ))
|
|
||||||
|
|
||||||
# If the server has at least 2GB of RAM
|
|
||||||
if [ $(ynh_check_ram --no_swap) -ge 2000 ]; then
|
|
||||||
# Min 3 worker processes
|
|
||||||
unicorn_worker_processes=$(($unicorn_worker_processes>3?$unicorn_worker_processes:3))
|
|
||||||
else
|
|
||||||
# 2 worker processes
|
|
||||||
unicorn_worker_processes=2
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Could be an option?
|
# Could be an option?
|
||||||
client_max_body_size="250m"
|
client_max_body_size="250m"
|
||||||
|
|
||||||
|
@ -84,7 +72,6 @@ ynh_app_setting_set --app=$app --key=use_web_account --value=$use_web_account
|
||||||
ynh_app_setting_set --app=$app --key=final_path --value=$final_path
|
ynh_app_setting_set --app=$app --key=final_path --value=$final_path
|
||||||
ynh_app_setting_set --app=$app --key=config_path --value=$config_path
|
ynh_app_setting_set --app=$app --key=config_path --value=$config_path
|
||||||
ynh_app_setting_set --app=$app --key=architecture --value=$architecture
|
ynh_app_setting_set --app=$app --key=architecture --value=$architecture
|
||||||
ynh_app_setting_set --app=$app --key=unicorn_worker_processes --value=$unicorn_worker_processes
|
|
||||||
ynh_app_setting_set --app=$app --key=client_max_body_size --value=$client_max_body_size
|
ynh_app_setting_set --app=$app --key=client_max_body_size --value=$client_max_body_size
|
||||||
|
|
||||||
ynh_app_setting_set --app=$app --key=overwrite_nginx --value="1"
|
ynh_app_setting_set --app=$app --key=overwrite_nginx --value="1"
|
||||||
|
@ -112,6 +99,24 @@ ynh_script_progression --message="Installing dependencies..." --weight=5
|
||||||
|
|
||||||
ynh_install_app_dependencies $pkg_dependencies
|
ynh_install_app_dependencies $pkg_dependencies
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# DEFINE THE NUMBER OF WORKERS USED
|
||||||
|
#=================================================
|
||||||
|
|
||||||
|
# https://docs.gitlab.com/ce/install/requirements.html#unicorn-workers
|
||||||
|
unicorn_worker_processes=$(bc <<< "($(nproc) * 1.5 + 1) / 1")
|
||||||
|
|
||||||
|
# If the server has at least 2GB of RAM
|
||||||
|
if [ $(ynh_check_ram --no_swap) -ge 2000 ]; then
|
||||||
|
# Min 3 worker processes
|
||||||
|
unicorn_worker_processes=$(($unicorn_worker_processes>3?$unicorn_worker_processes:3))
|
||||||
|
else
|
||||||
|
# 2 worker processes
|
||||||
|
unicorn_worker_processes=2
|
||||||
|
fi
|
||||||
|
|
||||||
|
ynh_app_setting_set --app=$app --key=unicorn_worker_processes --value=$unicorn_worker_processes
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# ADD SWAP IF NEEDED
|
# ADD SWAP IF NEEDED
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -120,7 +125,7 @@ total_memory=$(ynh_check_ram)
|
||||||
total_swap=$(ynh_check_ram --only_swap)
|
total_swap=$(ynh_check_ram --only_swap)
|
||||||
swap_needed=0
|
swap_needed=0
|
||||||
|
|
||||||
# https://docs.gitlab.com/ee/install/requirements.html#memory
|
# https://docs.gitlab.com/ce/install/requirements.html#memory
|
||||||
if [ $total_memory -lt 8192 ]; then
|
if [ $total_memory -lt 8192 ]; then
|
||||||
# Need a minimum of 8Go of memory
|
# Need a minimum of 8Go of memory
|
||||||
swap_needed=$((8192 - $total_memory))
|
swap_needed=$((8192 - $total_memory))
|
||||||
|
@ -216,6 +221,20 @@ newuser.confirmation_token = nil
|
||||||
newuser.save
|
newuser.save
|
||||||
ApplicationSetting.last.update_attributes(password_authentication_enabled_for_web: $use_web_account, signup_enabled: $use_web_account)" | gitlab-rails console
|
ApplicationSetting.last.update_attributes(password_authentication_enabled_for_web: $use_web_account, signup_enabled: $use_web_account)" | gitlab-rails console
|
||||||
|
|
||||||
|
|
||||||
|
#=================================================
|
||||||
|
# DEFINE THE BACKUP STRATEGY: https://docs.gitlab.com/ce/raketasks/backup_restore.html#excluding-specific-directories-from-the-backup
|
||||||
|
#=================================================
|
||||||
|
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_db --value=1
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_uploads --value=1
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_repositories --value=1
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_builds --value=1
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_artifacts --value=1
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_lfs --value=1
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_registry --value=1
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_pages --value=1
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RECONFIGURE TO TAKE INTO ACCOUNT CHANGES
|
# RECONFIGURE TO TAKE INTO ACCOUNT CHANGES
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -71,7 +71,7 @@ total_memory=$(ynh_check_ram)
|
||||||
total_swap=$(ynh_check_ram --only_swap)
|
total_swap=$(ynh_check_ram --only_swap)
|
||||||
swap_needed=0
|
swap_needed=0
|
||||||
|
|
||||||
# https://docs.gitlab.com/ee/install/requirements.html#memory
|
# https://docs.gitlab.com/ce/install/requirements.html#memory
|
||||||
if [ $total_memory -lt 8192 ]; then
|
if [ $total_memory -lt 8192 ]; then
|
||||||
# Need a minimum of 8Go of memory
|
# Need a minimum of 8Go of memory
|
||||||
swap_needed=$((8192 - $total_memory))
|
swap_needed=$((8192 - $total_memory))
|
||||||
|
@ -141,7 +141,12 @@ gitlab-ctl stop sidekiq
|
||||||
|
|
||||||
# Use gitlab-rake to backup
|
# Use gitlab-rake to backup
|
||||||
# Doc: https://docs.gitlab.com/ce/raketasks/backup_restore.html#restore-for-omnibus-gitlab-installations
|
# Doc: https://docs.gitlab.com/ce/raketasks/backup_restore.html#restore-for-omnibus-gitlab-installations
|
||||||
ynh_exec_warn_less gitlab-rake gitlab:backup:restore force=yes BACKUP=$last_backup
|
ynh_exec_warn_less gitlab-backup restore force=yes BACKUP=$last_backup
|
||||||
|
|
||||||
|
# https://docs.gitlab.com/ce/raketasks/backup_restore.html#container-registry-push-failures-after-restoring-from-a-backup
|
||||||
|
if ynh_user_exists --username="registry" && [ -d "/var/opt/gitlab/gitlab-rails/shared/registry/docker" ]; then
|
||||||
|
chown -R registry:registry /var/opt/gitlab/gitlab-rails/shared/registry/docker
|
||||||
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# GENERIC FINALIZATION
|
# GENERIC FINALIZATION
|
||||||
|
|
|
@ -33,6 +33,15 @@ unicorn_worker_processes=$(ynh_app_setting_get --app="$app" --key=unicorn_worker
|
||||||
client_max_body_size=$(ynh_app_setting_get --app="$app" --key=client_max_body_size)
|
client_max_body_size=$(ynh_app_setting_get --app="$app" --key=client_max_body_size)
|
||||||
overwrite_nginx=$(ynh_app_setting_get --app="$app" --key=overwrite_nginx)
|
overwrite_nginx=$(ynh_app_setting_get --app="$app" --key=overwrite_nginx)
|
||||||
|
|
||||||
|
backup_db=$(ynh_app_setting_get --app="$app" --key=backup_db)
|
||||||
|
backup_uploads=$(ynh_app_setting_get --app="$app" --key=backup_uploads)
|
||||||
|
backup_repositories=$(ynh_app_setting_get --app="$app" --key=backup_repositories)
|
||||||
|
backup_builds=$(ynh_app_setting_get --app="$app" --key=backup_builds)
|
||||||
|
backup_artifacts=$(ynh_app_setting_get --app="$app" --key=backup_artifacts)
|
||||||
|
backup_lfs=$(ynh_app_setting_get --app="$app" --key=backup_lfs)
|
||||||
|
backup_registry=$(ynh_app_setting_get --app="$app" --key=backup_registry)
|
||||||
|
backup_pages=$(ynh_app_setting_get --app="$app" --key=backup_pages)
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CHECK VERSION
|
# CHECK VERSION
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -65,7 +74,7 @@ if [ -z "$config_path" ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$unicorn_worker_processes" ]; then
|
if [ -z "$unicorn_worker_processes" ]; then
|
||||||
# https://docs.gitlab.com/ee/install/requirements.html#unicorn-workers
|
# https://docs.gitlab.com/ce/install/requirements.html#unicorn-workers
|
||||||
unicorn_worker_processes=$(($(nproc) + 1 ))
|
unicorn_worker_processes=$(($(nproc) + 1 ))
|
||||||
|
|
||||||
# If the server has at least 2GB of RAM
|
# If the server has at least 2GB of RAM
|
||||||
|
@ -146,6 +155,39 @@ if [ -e "/etc/apt/sources.list.d/gitlab-ce.list" ]; then
|
||||||
ynh_secure_remove --file="/etc/apt/sources.list.d/gitlab-ce.list"
|
ynh_secure_remove --file="/etc/apt/sources.list.d/gitlab-ce.list"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Define the backup strategy: https://docs.gitlab.com/ce/raketasks/backup_restore.html#excluding-specific-directories-from-the-backup
|
||||||
|
if [ -z "$backup_db" ]; then
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_db --value=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$backup_uploads" ]; then
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_uploads --value=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$backup_repositories" ]; then
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_repositories --value=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$backup_builds" ]; then
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_builds --value=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$backup_artifacts" ]; then
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_artifacts --value=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$backup_lfs" ]; then
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_lfs --value=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$backup_registry" ]; then
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_registry --value=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$backup_pages" ]; then
|
||||||
|
ynh_app_setting_set --app=$app --key=backup_pages --value=1
|
||||||
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
|
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -188,7 +230,7 @@ total_memory=$(ynh_check_ram)
|
||||||
total_swap=$(ynh_check_ram --only_swap)
|
total_swap=$(ynh_check_ram --only_swap)
|
||||||
swap_needed=0
|
swap_needed=0
|
||||||
|
|
||||||
# https://docs.gitlab.com/ee/install/requirements.html#memory
|
# https://docs.gitlab.com/ce/install/requirements.html#memory
|
||||||
if [ $total_memory -lt 8192 ]; then
|
if [ $total_memory -lt 8192 ]; then
|
||||||
# Need a minimum of 8Go of memory
|
# Need a minimum of 8Go of memory
|
||||||
swap_needed=$((8192 - $total_memory))
|
swap_needed=$((8192 - $total_memory))
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
gitlab_version="12.1.6"
|
gitlab_version="12.2.4"
|
||||||
|
|
||||||
gitlab_x86_64_source_sha256="af4251dd4d0c5ff42f69e6ac09d4767e8be41314b63993a5959790ac78657c91"
|
gitlab_x86_64_source_sha256="1b0f1c3629d31e5ff2d2b096428d5ded46d91f9708d66d9e99c785d15bf07095"
|
||||||
|
|
||||||
gitlab_arm_source_sha256="adfa0120282fcc84e9dca85196dcc28dc2763d072581857fc592ef35ab3821ab"
|
gitlab_arm_source_sha256="8090b16c59ccc7762b1c9737b58667fc3625a223dcd6b5c5855ae88291aa7601"
|
||||||
|
|
||||||
gitlab_filename="gitlab-ce-${gitlab_version}.deb"
|
gitlab_filename="gitlab-ce-${gitlab_version}.deb"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue