Flesh out docker-compose Cookiecutter template
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
services:
|
||||
{%- if ',' in cookiecutter.__component_list_slug -%}
|
||||
{%- set components = cookiecutter.__component_list_slug.split(',') -%}
|
||||
{%- for component in components %}
|
||||
{{ component }}:
|
||||
image: "{{ component }}:${% raw %}{{% endraw %}{{ component.upper() }}_VERSION{% raw %}}{% endraw %}"
|
||||
container_name: "{{ cookiecutter.__service_slug }}-{{ component }}-${CONTEXT}"
|
||||
networks:
|
||||
{{ cookiecutter.__service_slug }}-{{ cookiecutter.__context_slug }}:
|
||||
profiles: ["full", "{{ component }}"]
|
||||
extends:
|
||||
file: common-settings.yml
|
||||
service: common-settings
|
||||
ports:
|
||||
# - "8080:80"
|
||||
volumes:
|
||||
# - /opt/docker-data/{{ cookiecutter.__service_slug }}-{{ component }}-{{ cookiecutter.__context_slug }}/{{ component }}/data/db:/usr/lib/{{ component }}
|
||||
# - /opt/docker-data/{{ cookiecutter.__service_slug }}-{{ component }}-{{ cookiecutter.__context_slug }}/{{ component }}/data/logs:/var/log/{{ component }}
|
||||
# - /opt/docker-data/{{ cookiecutter.__service_slug }}-{{ component }}-{{ cookiecutter.__context_slug }}/{{ component }}/config:/etc/{{ component }}
|
||||
environment:
|
||||
# {{ component.upper() }}_USER: ${% raw %}{{% endraw %}{{ component.upper() }}_USER{% raw %}}{% endraw %}
|
||||
# {{ component.upper() }}_PASSWORD: ${% raw %}{{% endraw %}{{ component.upper() }}_PASSWORD{% raw %}}{% endraw %}
|
||||
{%- endfor -%}
|
||||
{%- else %}
|
||||
{{ cookiecutter.__component_list_slug }}:
|
||||
image: "{{ cookiecutter.__component_list_slug }}:${% raw %}{{% endraw %}{{ cookiecutter.__component_list_slug.upper() }}_VERSION{% raw %}}{% endraw %}"
|
||||
container_name: "{{ cookiecutter.__service_slug }}-${CONTEXT}"
|
||||
networks:
|
||||
{{ cookiecutter.__service_slug }}-{{ cookiecutter.__context_slug }}:
|
||||
extends:
|
||||
file: common-settings.yml
|
||||
service: common-settings
|
||||
ports:
|
||||
# - "8080:80"
|
||||
volumes:
|
||||
# - /opt/docker-data/{{ cookiecutter.__service_slug }}-{{ cookiecutter.__context_slug }}/data/db:/usr/lib/{{ cookiecutter.__service_slug }}
|
||||
# - /opt/docker-data/{{ cookiecutter.__service_slug }}-{{ cookiecutter.__context_slug }}/data/logs:/var/log/{{ cookiecutter.__service_slug }}
|
||||
# - /opt/docker-data/{{ cookiecutter.__service_slug }}-{{ cookiecutter.__context_slug }}/config:/etc/{{ cookiecutter.__service_slug }}
|
||||
environment:
|
||||
# {{ cookiecutter.__component_list_slug.upper() }}_USER: ${% raw %}{{% endraw %}{{ cookiecutter.__component_list_slug.upper() }}_USER{% raw %}}{% endraw %}
|
||||
# {{ cookiecutter.__component_list_slug.upper() }}_PASSWORD: ${% raw %}{{% endraw %}{{ cookiecutter.__component_list_slug.upper() }}_PASSWORD{% raw %}}{% endraw %}
|
||||
{%- endif %}
|
||||
networks:
|
||||
{{ cookiecutter.__service_slug }}-{{ cookiecutter.__context_slug }}:
|
||||
name: {{ cookiecutter.__service_slug }}-{{ cookiecutter.__context_slug }}
|
||||
driver: bridge
|
||||
driver_opts:
|
||||
com.docker.network.enable_ipv6: "false"
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
# - subnet: 172.21.184.0/24
|
Reference in New Issue
Block a user