Initial commit
This commit is contained in:
commit
8eff0a45fc
12 changed files with 317 additions and 0 deletions
38
templates/docker-compose.traefik.yml.j2
Normal file
38
templates/docker-compose.traefik.yml.j2
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
version: '3'
|
||||
|
||||
networks:
|
||||
traefik:
|
||||
driver: bridge
|
||||
|
||||
services:
|
||||
# Load Balancer / SSL / Web Server
|
||||
traefik:
|
||||
image: traefik:v2.1
|
||||
restart: always
|
||||
networks:
|
||||
- traefik
|
||||
ports:
|
||||
{% if traefik.expose_internally | default(False) %}
|
||||
- "8181:8080"
|
||||
{% endif %}
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
{% if traefik.additional_env_vars | default(False) %}
|
||||
environment:
|
||||
{% for item in traefik.additional_env_vars | dict2items %}
|
||||
- {{item.key}}={{item.value}}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /home/{{ docker_user }}/traefik/traefik.toml:/traefik.toml
|
||||
- /home/{{ docker_user }}/traefik/acme.json:/acme.json
|
||||
{% if traefik.expose_externally | default(False) %}
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.docker.network=traefik"
|
||||
- "traefik.http.frontend.rule=Host:traefik.{{ traefik_virtual_host }}"
|
||||
- "traefik.http.protocol=http"
|
||||
- "traefik.http.port=8080"
|
||||
{% endif %}
|
||||
48
templates/traefik.toml.j2
Normal file
48
templates/traefik.toml.j2
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
defaultEntryPoints = ["web", "websecure"]
|
||||
|
||||
[log]
|
||||
level = "ERROR"
|
||||
|
||||
[entryPoints]
|
||||
[entryPoints.web]
|
||||
address = ":80"
|
||||
[entryPoints.websecure]
|
||||
address = ":443"
|
||||
|
||||
#[api]
|
||||
# dashboard = true
|
||||
# insecure = true
|
||||
|
||||
[file]
|
||||
watch = true
|
||||
|
||||
[providers.docker]
|
||||
endpoint = "unix:///var/run/docker.sock"
|
||||
exposedByDefault = false
|
||||
|
||||
[certificatesResolvers.defaultresolver.acme]
|
||||
{% if traefik.use_acme_staging %}
|
||||
caServer = "https://acme-staging-v02.api.letsencrypt.org/directory"
|
||||
{% endif %}
|
||||
email = "{{ letsencrypt_email }}"
|
||||
storage = "acme.json"
|
||||
[certificatesResolvers.defaultresolver.acme.httpChallenge]
|
||||
entryPoint = "web"
|
||||
|
||||
{% if traefik.extra_mapping | default(False) %}
|
||||
### NOT WORKING YET!
|
||||
#[backends]
|
||||
{% for service_name in traefik.extra_mapping %}
|
||||
#[backends.{{ service_name }}_backend]
|
||||
# [backends.{{ service_name }}_backend.servers.server1]
|
||||
# url = "{{ traefik.extra_mapping[service_name] }}"
|
||||
{% endfor %}
|
||||
#
|
||||
#[frontends]
|
||||
{% for service_name in traefik.extra_mapping %}
|
||||
# [frontends.{{ service_name }}_frontend]
|
||||
# backend = "{{ service_name }}_backend"
|
||||
# [frontends.{{ service_name }}_frontend.routes.test_1]
|
||||
# rule = "Host: {{ service_name }}.{{ domain }}"
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue