12 Commits

9 changed files with 109 additions and 4 deletions
+2
View File
@@ -18,9 +18,11 @@ LETS_ENCRYPT_ENV=production
GITLAB_ROOT_EMAIL="gitlab_admin@example.com"
SECRET_INITIAL_ROOT_PASSWORD_VERSION=v1
SECRET_RUNNER_TOKEN_VERSION=v1
SECRET_REGISTRATION_TOKEN_VERSION=v1
SSO=false
## Authentik Configuration
# SSO=true
# ORG_NAME="My Organization"
# SSO_PROVIDER_URL="https://authentik.mydomain.com/application/o/gitlab/"
+8
View File
@@ -1,6 +1,8 @@
#!/bin/bash
GITLAB_CONF_VERSION=v1
ENTRYPOINT_VERSION=v1
RUNNER_ENTRYPOINT_VERSION=v1
RUNNER_CONF_VERSION=v1
run_rails_command() {
su -p root -s /bin/sh -c "gitlab-rails runner '$@'"
@@ -28,4 +30,10 @@ disable_signups() {
enable_signups () {
run_rails_command 'Gitlab::CurrentSettings.update!(signup_enabled: true)'
reconfigure
}
register_runner() {
RUNNER_TOKEN="$1"
gitlab-runner register --non-interactive --url "https://$CI_SERVER_URL" --token "$RUNNER_TOKEN" --executor "docker"
}
+83
View File
@@ -0,0 +1,83 @@
---
version: "3.8"
services:
runner:
image: registry.gitlab.com/gitlab-org/gitlab-runner:alpine
depends_on:
- dind
environment:
- CI_SERVER_URL=${DOMAIN}
- DOCKER_HOST=tcp://socket-proxy:2375
- RUNNER_TIMEOUT
- RUNNER_CONCURENCY
configs:
- source: runner_conf
target: /etc/gitlab-runner/config.toml
- source: entrypoint
target: /custom-entrypoint.sh
mode: 0555
volumes:
- "runnner_config:/etc/gitlab-runner"
networks:
- internal
deploy:
restart_policy:
condition: on-failure
entrypoint: /custom-entrypoint.sh
socket-proxy:
image: lscr.io/linuxserver/socket-proxy:3.2.6
environment:
- PROXY_READ_TIMEOUT=5000
- ALLOW_START=1
- ALLOW_STOP=1
- ALLOW_RESTARTS=1
- AUTH=1
- BUILD=1
- COMMIT=1
- CONFIGS=1
- CONTAINERS=1
- DISABLE_IPV6=0
- DISTRIBUTION=0
- EVENTS=1
- EXEC=1
- IMAGES=1
- INFO=1
- NETWORKS=1
- NODES=1
- PING=1
- POST=1
- PLUGINS=1
- SECRETS=1
- SERVICES=1
- SESSION=1
- SWARM=1
- SYSTEM=1
- TASKS=1
- VERSION=1
- VOLUMES=1
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- internal
ports:
- "2375:2375"
volumes:
runnner_config:
secrets:
registration_token:
name: ${STACK_NAME}_registration_token_${SECRET_REGISTRATION_TOKEN_VERSION}
external: true
configs:
runner_conf:
name: ${STACK_NAME}_runner_config_${RUNNER_CONF_VERSION}
file: runner-config.toml.tmpl
template_driver: golang
entrypoint:
name: ${STACK_NAME}_runner_entrypoint_${RUNNER_ENTRYPOINT_VERSION}
file: runner-entrypoint.sh.tmpl
template_driver: golang
+2 -2
View File
@@ -3,7 +3,7 @@ version: "3.8"
services:
app:
image: 'gitlab/gitlab-ce:17.7.3-ce.0'
image: 'gitlab/gitlab-ce:18.3.0-ce.0'
networks:
- proxy
- internal
@@ -34,7 +34,7 @@ services:
- "backupbot.backup=true"
- "backupbot.backup.path=/etc/gitlab/,/var/log/gitlab/,/var/opt/gitlab/"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-240}"
- "coop-cloud.${STACK_NAME}.version=0.1.2+17.7.3-ce.0"
- "coop-cloud.${STACK_NAME}.version=0.2.2+18.3.0-ce.0"
secrets:
- initial_root_password
- runner_token
+1 -1
View File
@@ -6,4 +6,4 @@ echo "Copying custom Gitlab config to /etc/gitlab/"
cp /gitlab.rb /etc/gitlab/gitlab.rb
echo "Entrypoint finished, launching Gitlab"
exec "/assets/wrapper"
exec "/assets/init-container"
+1 -1
View File
@@ -678,7 +678,7 @@ gitlab_rails['omniauth_providers'] = [
# high_availability['mountpoint'] = ["/var/opt/gitlab/git-data", "/var/opt/gitlab/gitlab-rails/shared"]
### GitLab Shell settings for GitLab
# gitlab_rails['gitlab_shell_ssh_port'] = 22
gitlab_rails['gitlab_shell_ssh_port'] = {{ env "GITLAB_SSH_PORT" }}
# gitlab_rails['gitlab_shell_git_timeout'] = 800
### Enable gitlab-sshd on a different port than OpenSSH
+1
View File
@@ -0,0 +1 @@
Fixes bug where GITLAB_SSH_PORT was not set in the Gitlab config
+1
View File
@@ -0,0 +1 @@
Starting with 18.0, GitLab will collect event-level product usage data from Self-Managed and Dedicated instances — while ensuring privacy, transparency, and customer control. GitLab administrators can turn off the data collection toggle before any data is collected in version 18.0. For more information about this change and how you can opt out, see the documentation: https://docs.gitlab.com/17.11/administration/settings/event_data/
+10
View File
@@ -0,0 +1,10 @@
#!/bin/sh
set -e
while [ ! -s /etc/gitlab-runner/config.toml ]
do
echo "The runner was not registered yet. Next try in 5 seconds."
sleep 5
done