Skip to content
Snippets Groups Projects
Commit bc2c2c19 authored by jurgenhaas's avatar jurgenhaas
Browse files

gitlab-ci-cd/general#3 Add support for docker image prefix to be able to load images from a proxy

parent 3925b772
No related branches found
No related tags found
1 merge request!34Merging develop into main
Pipeline #578911 passed
......@@ -32,6 +32,10 @@ class Handler extends BaseHandler {
* {@inheritdoc}
*/
protected function configDefault(): array {
$dockerImageProxy = $this->env->receiveGlobal('docker_image_prefix', '', '');
if (!empty($dockerImageProxy)) {
$dockerImageProxy = str_replace('//', '/', $dockerImageProxy . '/');
}
$projectname = getenv('COMPOSE_PROJECT_NAME');
if (empty($projectname)) {
$projectname = str_replace([' ', '-', '_', '.'], '', basename(getcwd()));
......@@ -39,6 +43,7 @@ class Handler extends BaseHandler {
}
return [
'docker_image_prefix' => $dockerImageProxy,
'projectname' => $projectname,
'staging' => FALSE,
'basicauth' => [
......
......@@ -10,7 +10,7 @@ networks:
services:
mariadb:
image: {% if dbserver.type == 'mariadb' %}'wodby/mariadb:{{ dbserver.version }}'{% elseif dbserver.type == 'mysql' %}'mysql/mysql-server:{{ dbserver.version }}'{% else %}''{% endif %}
image: '{{ docker_image_prefix }}{% if dbserver.type == "mariadb" %}wodby/mariadb:{{ dbserver.version }}{% elseif dbserver.type == "mysql" %}mysql/mysql-server:{{ dbserver.version }}{% endif %}'
{% if drupal.live|default(0) %}
restart: unless-stopped
......@@ -30,7 +30,7 @@ services:
{% if not drupal.live|default(0) %}
mariadbtest:
image: {% if dbserver.type == 'mariadb' %}'wodby/mariadb:{{ dbserver.version }}'{% elseif dbserver.type == 'mysql' %}'mysql/mysql-server:{{ dbserver.version }}'{% else %}''{% endif %}
image: '{{ docker_image_prefix }}{% if dbserver.type == "mariadb" %}wodby/mariadb:{{ dbserver.version }}{% elseif dbserver.type == "mysql" %}mysql/mysql-server:{{ dbserver.version }}{% endif %}'
environment:
MYSQL_ROOT_PASSWORD: password
......@@ -44,7 +44,7 @@ services:
{% endif %}
php:
image: 'wodby/drupal-php:{{ php.version }}'
image: '{{ docker_image_prefix }}wodby/drupal-php:{{ php.version }}'
{% if drupal.live|default(0) %}
restart: unless-stopped
{% endif %}
......@@ -109,7 +109,7 @@ services:
{% if crontabs.enable|default(0) %}
cron:
image: mcuadros/ofelia:latest
image: '{{ docker_image_prefix }}mcuadros/ofelia:latest'
restart: unless-stopped
volumes:
- /etc/timezone:/etc/timezone:ro
......@@ -119,7 +119,7 @@ services:
{% endif %}
{{ webserver.type }}:
image: {% if webserver.type == 'nginx' %}'wodby/drupal-nginx:{{ webserver.version|default("1.21") }}'{% elseif webserver.type == 'apache' %}'wodby/apache:2.4'{% endif %}
image: '{{ docker_image_prefix }}{% if webserver.type == "nginx" %}wodby/drupal-nginx:{{ webserver.version|default("1.21") }}{% elseif webserver.type == "apache" %}wodby/apache:2.4{% endif %}'
{% if drupal.live|default(0) %}
restart: unless-stopped
......@@ -183,7 +183,7 @@ services:
{% if varnish.enable %}
varnish:
image: 'wodby/varnish:6.0'
image: '{{ docker_image_prefix }}wodby/varnish:6.0'
{% if drupal.live|default(0) %}
restart: unless-stopped
{% endif %}
......@@ -207,7 +207,7 @@ services:
redis:
image: 'wodby/redis:{{ redis.version }}'
image: '{{ docker_image_prefix }}wodby/redis:{{ redis.version }}'
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
......@@ -219,7 +219,7 @@ services:
{% if not drupal.live|default(0) %}
{% if dbbrowser.type == 'adminer' %}
adminer:
image: 'wodby/adminer:{{ dbbrowser.version|default("4.6") }}'
image: '{{ docker_image_prefix }}wodby/adminer:{{ dbbrowser.version|default("4.6") }}'
networks:
- traefik-public
- default
......@@ -235,7 +235,7 @@ services:
traefik.http.routers.adminer-{{ projectname }}.rule: Host(`adminer-{{ projectdomain }}`)
{% elseif dbbrowser.type == 'pma' %}
pma:
image: 'phpmyadmin/phpmyadmin:latest'
image: '{{ docker_image_prefix }}phpmyadmin/phpmyadmin:latest'
networks:
- traefik-public
- default
......@@ -259,7 +259,7 @@ services:
{% if solr.enable %}
solr:
image: 'wodby/solr:8-{{ solr.version }}'
image: '{{ docker_image_prefix }}wodby/solr:8-{{ solr.version }}'
{% if drupal.live|default(0) %}
restart: unless-stopped
{% endif %}
......@@ -280,7 +280,7 @@ services:
{% if mailhog.enable and (not drupal.live|default(0) or staging) %}
mailhog:
image: 'mailhog/mailhog'
image: '{{ docker_image_prefix }}mailhog/mailhog'
{% if staging %}
restart: unless-stopped
{% endif %}
......@@ -311,7 +311,7 @@ services:
{% if node.enable %}
nodejs:
image: 'wodby/drupal-node:1.0'
image: '{{ docker_image_prefix }}wodby/drupal-node:1.0'
networks:
- traefik-public
- default
......@@ -329,7 +329,7 @@ services:
command: sh -c 'npm install && npm run start'
node:
image: 'node:alpine'
image: '{{ docker_image_prefix }}node:alpine'
networks:
- traefik-public
- default
......@@ -350,7 +350,7 @@ services:
{% if memcached.enable %}
memcached:
image: 'wodby/memcached:1.6'
image: '{{ docker_image_prefix }}wodby/memcached:1.6'
{% if drupal.live|default(0) %}
restart: unless-stopped
{% endif %}
......@@ -361,7 +361,7 @@ services:
{% if rsyslog.enable %}
rsyslog:
image: 'wodby/rsyslog'
image: '{{ docker_image_prefix }}wodby/rsyslog'
{% if drupal.live|default(0) %}
restart: unless-stopped
{% endif %}
......@@ -372,7 +372,7 @@ services:
{% if athenapdf.enable %}
athenapdf:
image: 'arachnysdocker/athenapdf-service'
image: '{{ docker_image_prefix }}arachnysdocker/athenapdf-service'
{% if drupal.live|default(0) %}
restart: unless-stopped
{% endif %}
......@@ -390,7 +390,7 @@ services:
{% if blackfire.enable and not drupal.live|default(0) %}
blackfire:
image: 'blackfire/blackfire'
image: '{{ docker_image_prefix }}blackfire/blackfire'
environment:
BLACKFIRE_SERVER_ID: '{{ blackfire.id }}'
BLACKFIRE_SERVER_TOKEN: '{{ blackfire.token }}'
......@@ -402,7 +402,7 @@ services:
webgrind:
# add XDEBUG_PROFILE=1 to your request to profile that
image: 'wodby/webgrind:1'
image: '{{ docker_image_prefix }}wodby/webgrind:1'
networks:
- traefik-public
- default
......@@ -421,7 +421,7 @@ services:
{% if selenium.enable and not drupal.live|default(0) %}
hub:
image: 'elgalu/selenium'
image: '{{ docker_image_prefix }}elgalu/selenium'
volumes:
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
......@@ -437,7 +437,7 @@ services:
- php
chrome:
image: 'elgalu/selenium'
image: '{{ docker_image_prefix }}elgalu/selenium'
depends_on:
- hub
volumes:
......@@ -466,7 +466,7 @@ services:
{% if elasticsearch.enable %}
elasticsearch:
image: 'wodby/elasticsearch:7'
image: '{{ docker_image_prefix }}wodby/elasticsearch:7'
{% if drupal.live|default(0) %}
restart: unless-stopped
{% endif %}
......@@ -503,7 +503,7 @@ services:
{% if backup.enable|default(0) %}
borgmatic:
image: 'b3vis/borgmatic:{{ backup.version }}'
image: '{{ docker_image_prefix }}b3vis/borgmatic:{{ backup.version }}'
restart: unless-stopped
volumes:
- /etc/timezone:/etc/timezone:ro
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment