This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
---
|
||||
- name: Create Caddyfile
|
||||
template:
|
||||
src: roles/caddy/templates/Caddyfile.j2
|
||||
dest: "{{ data_dir }}/caddy/Caddyfile"
|
||||
|
||||
- name: Reload Caddyfile
|
||||
command: docker exec -w /etc/caddy caddy caddy reload
|
||||
@@ -1,44 +0,0 @@
|
||||
---
|
||||
- name: "Create file structure"
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/caddy"
|
||||
- "{{ data_dir }}/caddy/data"
|
||||
- "{{ data_dir }}/caddy/certs"
|
||||
|
||||
- name: Create Dockerfile
|
||||
template:
|
||||
src: Dockerfile.j2
|
||||
dest: "{{ data_dir }}/caddy/Dockerfile"
|
||||
|
||||
- name: Build Caddy Image
|
||||
docker_image:
|
||||
name: caddy
|
||||
tag: "latest"
|
||||
build:
|
||||
path: "{{ data_dir }}/caddy"
|
||||
dockerfile: "Dockerfile"
|
||||
source: build
|
||||
state: present
|
||||
|
||||
- name: Deploy Caddy Container
|
||||
docker_container:
|
||||
name: caddy
|
||||
image: caddy:latest
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
networks:
|
||||
- name: "{{ docker_network_name }}"
|
||||
env:
|
||||
CLOUDFLARE_TOKEN: "{{ CADDY_CLOUDFLARE_TOKEN }}"
|
||||
HOST_IP: "{{ CADDY_HOST_IP }}"
|
||||
VIDEO_MACHINE: "{{ CADDY_VIDEO_MACHINE }}"
|
||||
volumes:
|
||||
- "{{ data_dir }}/caddy/data:/data"
|
||||
- "{{ data_dir }}/caddy/certs:/etc/letsencrypt"
|
||||
- "{{ data_dir }}/caddy/Caddyfile:/etc/caddy/Caddyfile"
|
||||
published_ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
@@ -1,52 +0,0 @@
|
||||
# Snippets
|
||||
{% if caddy_snippets is defined %}
|
||||
{% for snippet_name, snippet_content in caddy_snippets.items() %}
|
||||
({{ snippet_name }}) {
|
||||
{% for line in snippet_content %}
|
||||
{{ line }}
|
||||
{% endfor %}
|
||||
}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
# Sites
|
||||
{% for site in caddy_sites %}
|
||||
{{ site.domains | join(', ') }} {
|
||||
{% if site.tls is defined %}
|
||||
tls {
|
||||
{% if site.tls.dns is defined %}
|
||||
dns {{ site.tls.dns.provider }} {{ site.tls.dns.token }}
|
||||
{% endif %}
|
||||
{% if site.tls.cert is defined %}
|
||||
{{ site.tls.cert }} {{ site.tls.key }}
|
||||
{% endif %}
|
||||
}
|
||||
{% endif %}
|
||||
|
||||
{% for matcher in site.matchers | default([]) %}
|
||||
@{{ matcher.name }} {{ matcher.type }} {{ matcher.value }}
|
||||
{% endfor %}
|
||||
|
||||
{% for handler in site.handlers | default([]) %}
|
||||
handle {% if handler.matcher is defined %}@{{ handler.matcher }} {% endif %}{
|
||||
{% if handler.reverse_proxy is defined %}
|
||||
reverse_proxy {{ handler.reverse_proxy }}
|
||||
{% endif %}
|
||||
{% if handler.import_tinyauth is defined %}
|
||||
import tinyauth_forwarder *
|
||||
{% endif %}
|
||||
}
|
||||
{% endfor %}
|
||||
|
||||
{% if handler.default is defined %}
|
||||
handle {
|
||||
{% if handler.default.redir is defined %}
|
||||
redir {{ handler.default.redir }}
|
||||
{% else %}
|
||||
respond 404
|
||||
{% endif %}
|
||||
}
|
||||
{% endif %}
|
||||
}
|
||||
|
||||
{% endfor %}
|
||||
@@ -1,5 +0,0 @@
|
||||
FROM caddy:builder AS builder
|
||||
RUN caddy-builder \
|
||||
github.com/caddy-dns/cloudflare
|
||||
FROM caddy:latest
|
||||
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
|
||||
@@ -41,11 +41,17 @@
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.traefik.service: traefik
|
||||
traefik.http.routers.traefik.rule: "Host(`{{ TRAEFIK_DASH_URL }}`)"
|
||||
traefik.http.routers.traefik.rule: "Host(`traefik.fntz.net`)"
|
||||
traefik.http.routers.traefik.entrypoints: webSecure
|
||||
traefik.http.routers.traefik.tls.certresolver: letsencrypt
|
||||
traefik.http.services.traefik.loadbalancer.server.port: "8080"
|
||||
|
||||
traefik.http.routers.jtraefik.service: jtraefik
|
||||
traefik.http.routers.jtraefik.rule: "Host(`traefik-jackson.fntz.net`)"
|
||||
traefik.http.routers.jtraefik.entrypoints: webSecure
|
||||
traefik.http.routers.jtraefik.tls.certresolver: letsencrypt
|
||||
traefik.http.services.jtraefik.loadbalancer.server.url: "http://jackson:8080"
|
||||
|
||||
traefik.http.routers.nflproxy.service: nflproxy
|
||||
traefik.http.routers.nflproxy.rule: "Host(`nfl.fntz.net`)"
|
||||
traefik.http.routers.nflproxy.entrypoints: webSecure
|
||||
|
||||
Reference in New Issue
Block a user