Refactor Joomla role to new docker.* schema

- Move image definition from images.joomla to docker.services.joomla
- Add container name, container_port variable, and healthcheck
- Introduce JOOMLA_IMAGE, JOOMLA_VERSION, JOOMLA_CONTAINER, JOOMLA_VOLUME in vars
- Use volume mapping via docker.volumes.data

See: https://chatgpt.com/share/68af55a9-6514-800f-b6f7-1dc86356936e
This commit is contained in:
2025-08-27 21:00:08 +02:00
parent 67b2ebf001
commit c6cd6430bb
3 changed files with 20 additions and 5 deletions

View File

@@ -1,5 +1,3 @@
images:
joomla: "joomla:latest"
features:
matomo: true
css: true
@@ -14,3 +12,9 @@ docker:
services:
database:
enabled: true
joomla:
image: joomla
version: latest
name: joomla
volumes:
data: "joomla_data"

View File

@@ -1,15 +1,18 @@
{% include 'roles/docker-compose/templates/base.yml.j2' %}
application:
image: "{{ applications | get_app_conf(application_id, 'images.joomla', True) }}"
image: "{{ JOOMLA_IMAGE }}:{{ JOOMLA_VERSION }}"
container_name: "{{ JOOMLA_CONTAINER }}"
{% include 'roles/docker-container/templates/base.yml.j2' %}
volumes:
- data:/var/www/html
ports:
- "127.0.0.1:{{ ports.localhost.http[application_id] }}:80"
- "127.0.0.1:{{ ports.localhost.http[application_id] }}:{{ container_port }}"
{% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %}
{% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on/dmbs_excl.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %}
data:
name: {{ JOOMLA_VOLUME }}
{% include 'roles/docker-compose/templates/networks.yml.j2' %}

View File

@@ -1,2 +1,10 @@
# General
application_id: "web-app-joomla"
database_type: "postgres"
database_type: "postgres"
container_port: 80
# Joomla
JOOMLA_VERSION: "{{ applications | get_app_conf(application_id, 'docker.services.joomla.version') }}"
JOOMLA_IMAGE: "{{ applications | get_app_conf(application_id, 'docker.services.joomla.image') }}"
JOOMLA_CONTAINER: "{{ applications | get_app_conf(application_id, 'docker.services.joomla.name') }}"
JOOMLA_VOLUME: "{{ applications | get_app_conf(application_id, 'docker.volumes.data') }}"