44 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
FROM {{ keycloak_container_image_upstream }}:{{ keycloak_version }} as builder
 | 
						|
 | 
						|
# Enable health and metrics support
 | 
						|
ENV KC_HEALTH_ENABLED={{ keycloak_config_health_enabled | ternary('true', 'false') }}
 | 
						|
ENV KC_METRICS_ENABLED={{ keycloak_config_metrics_enabled | ternary('true', 'false') }}
 | 
						|
 | 
						|
# Configure a database vendor
 | 
						|
ARG DB_VENDOR
 | 
						|
ENV KC_DB=$DB_VENDOR
 | 
						|
 | 
						|
WORKDIR {{ keycloak_container_working_directory }}
 | 
						|
 | 
						|
{% if keycloak_container_image_add_local_providers | default(true) %}
 | 
						|
ADD ./providers/* providers/
 | 
						|
{% endif %}
 | 
						|
# Workaround to set correct mode on jar files
 | 
						|
USER root
 | 
						|
RUN chmod -R 0770 providers/*
 | 
						|
USER keycloak
 | 
						|
 | 
						|
RUN {{ keycloak_container_working_directory }}/bin/kc.sh --verbose \
 | 
						|
{% for argument in keycloak_container_build_flags | dict2items(key_name='flag', value_name='value') %}
 | 
						|
  --{{- argument['flag'] -}}{{- argument['value'] | default(false, true) | ternary('=' + argument['value'], '') }} \
 | 
						|
{% endfor%}
 | 
						|
  build{% if keycloak_container_build_features | default([]) | length > 0 %} \
 | 
						|
{% endif %}
 | 
						|
{% if keycloak_container_build_features | default([]) | length > 0 %}
 | 
						|
  --features="{{ keycloak_container_build_features | join(',') }}"
 | 
						|
{% endif %}
 | 
						|
 | 
						|
 | 
						|
FROM {{ keycloak_container_image_upstream }}:{{ keycloak_version }}
 | 
						|
COPY --from=builder {{ keycloak_container_working_directory }}/ {{ keycloak_container_working_directory }}/
 | 
						|
 | 
						|
ENV KC_HOSTNAME={{ keycloak_config_hostname }}
 | 
						|
ENV KEYCLOAK_ADMIN={{ keycloak_config_admin_username }}
 | 
						|
ARG KC_ADMIN_PASSWORD
 | 
						|
{% if keycloak_version | split('.') | first | int > 21 %}
 | 
						|
ENV KEYCLOAK_ADMIN_PASSWORD=$KC_ADMIN_PASSWORD
 | 
						|
{% else %}
 | 
						|
ENV KEYCLOAK_PASSWORD=$KC_ADMIN_PASSWORD
 | 
						|
{% endif %}
 | 
						|
ENTRYPOINT ["{{ keycloak_container_working_directory }}/bin/kc.sh"]
 |