add traefik
This commit is contained in:
@@ -23,3 +23,9 @@
|
||||
TZ: "{{ TZ }}"
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.code.rule: Host(`code.fntz.net`)
|
||||
traefik.http.routers.code.entrypoints: webSecure
|
||||
traefik.http.routers.code.tls.certresolver: letsencrypt
|
||||
traefik.http.services.code.loadbalancer.server.port: "8443"
|
||||
|
@@ -10,3 +10,9 @@
|
||||
- name: homelab
|
||||
volumes:
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.cup.rule: Host(`cup.fntz.net`)
|
||||
traefik.http.routers.cup.entrypoints: webSecure
|
||||
traefik.http.routers.cup.tls.certresolver: letsencrypt
|
||||
traefik.http.services.cup.loadbalancer.server.port: "8000"
|
||||
|
@@ -9,3 +9,9 @@
|
||||
- name: homelab
|
||||
volumes:
|
||||
- "/:/mnt/host:ro"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.dash.rule: Host(`stats.fntz.net`)
|
||||
traefik.http.routers.dash.entrypoints: webSecure
|
||||
traefik.http.routers.dash.tls.certresolver: letsencrypt
|
||||
traefik.http.services.dash.loadbalancer.server.port: "3001"
|
||||
|
@@ -12,3 +12,9 @@
|
||||
env:
|
||||
DOZZLE_ENABLE_ACTIONS: "{{ DOZZLE_ACTIONS }}"
|
||||
DOZZLE_ENABLE_SHELL: "{{ DOZZLE_SHELL }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.dz.rule: Host(`logs.fntz.net`)
|
||||
traefik.http.routers.dz.entrypoints: webSecure
|
||||
traefik.http.routers.dz.tls.certresolver: letsencrypt
|
||||
traefik.http.services.dz.loadbalancer.server.port: "8080"
|
||||
|
@@ -46,3 +46,9 @@
|
||||
env:
|
||||
DATABASE_URL: "postgres://drop:drop@drop_postgres:5432/drop"
|
||||
GIANT_BOMB_API_KEY: "{{ DROP_GIANT_BOMB_API_KEY }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.drop.rule: Host(`games.fntz.net`)
|
||||
traefik.http.routers.drop.entrypoints: webSecure
|
||||
traefik.http.routers.drop.tls.certresolver: letsencrypt
|
||||
traefik.http.services.drop.loadbalancer.server.port: "3000"
|
||||
|
@@ -7,3 +7,9 @@
|
||||
recreate: true
|
||||
networks:
|
||||
- name: homelab
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.draw.rule: Host(`draw.fntz.net`)
|
||||
traefik.http.routers.draw.entrypoints: webSecure
|
||||
traefik.http.routers.draw.tls.certresolver: letsencrypt
|
||||
traefik.http.services.draw.loadbalancer.server.port: "3000"
|
||||
|
@@ -25,3 +25,9 @@
|
||||
- "{{ data_dir }}/glance/config:/app/config"
|
||||
- "{{ data_dir }}/glance/assets:/app/assets"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.glance.rule: Host(`fntz.net`)
|
||||
traefik.http.routers.glance.entrypoints: webSecure
|
||||
traefik.http.routers.glance.tls.certresolver: letsencrypt
|
||||
traefik.http.services.glance.loadbalancer.server.port: "8080"
|
||||
|
@@ -23,3 +23,9 @@
|
||||
- "{{ data_dir }}/homeassistant:/config"
|
||||
- "/etc/localtime:/etc/localtime"
|
||||
- "/run/dbus:/run/dbus:ro"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.ha.rule: Host(`ha.fntz.net`)
|
||||
traefik.http.routers.ha.entrypoints: webSecure
|
||||
traefik.http.routers.ha.tls.certresolver: letsencrypt
|
||||
traefik.http.services.ha.loadbalancer.server.url: "http://{{ TRAEFIK_HOST_IP }}:8123"
|
||||
|
@@ -15,3 +15,9 @@
|
||||
recreate: true
|
||||
volumes:
|
||||
- "{{ data_dir }}/homebridge:/homebridge"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.bridge.rule: Host(`bridge.fntz.net`)
|
||||
traefik.http.routers.bridge.entrypoints: webSecure
|
||||
traefik.http.routers.bridge.tls.certresolver: letsencrypt
|
||||
traefik.http.services.bridge.loadbalancer.server.url: "http://{{ TRAEFIK_HOST_IP }}:8581"
|
||||
|
@@ -61,3 +61,9 @@
|
||||
REDIS_HOSTNAME: "immich_redis"
|
||||
DB_PASSWORD: "{{ IMMICH_DB_PASSWORD }}"
|
||||
DB_USERNAME: "{{ IMMICH_DB_USERNAME }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.img.rule: Host(`img.fntz.net`)
|
||||
traefik.http.routers.img.entrypoints: webSecure
|
||||
traefik.http.routers.img.tls.certresolver: letsencrypt
|
||||
traefik.http.services.img.loadbalancer.server.port: "2283"
|
||||
|
@@ -23,3 +23,9 @@
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
TZ: "{{ TZ }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.jf.rule: Host(`jf.fntz.net`)
|
||||
traefik.http.routers.jf.entrypoints: webSecure
|
||||
traefik.http.routers.jf.tls.certresolver: letsencrypt
|
||||
traefik.http.services.jf.loadbalancer.server.port: "8096"
|
||||
|
@@ -26,6 +26,12 @@
|
||||
- "{{ data_dir }}/monitoring/grafana:/var/lib/grafana"
|
||||
env:
|
||||
GF_AUTH_ANONYMOUS_ENABLED: "{{ GRAFANA_AUTH_ANONYMOUS_ENABLED }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.graf.rule: Host(`graf.fntz.net`)
|
||||
traefik.http.routers.graf.entrypoints: webSecure
|
||||
traefik.http.routers.graf.tls.certresolver: letsencrypt
|
||||
traefik.http.services.graf.loadbalancer.server.port: "3000"
|
||||
|
||||
- name: Copy Prometheus Config
|
||||
template:
|
||||
|
@@ -17,3 +17,9 @@
|
||||
volumes:
|
||||
- "{{ data_dir }}/navidrome:/data"
|
||||
- "{{ NAVIDROME_MUSIC_PATH }}:/music:ro"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.music.rule: Host(`music.fntz.net`)
|
||||
traefik.http.routers.music.entrypoints: webSecure
|
||||
traefik.http.routers.music.tls.certresolver: letsencrypt
|
||||
traefik.http.services.music.loadbalancer.server.port: "4533"
|
||||
|
@@ -23,3 +23,8 @@
|
||||
env:
|
||||
UPSTREAM_BASE_URL: "{{ NTFY_UPSTREAM_BASE_URL }}"
|
||||
BASE_URL: "{{ NTFY_BASE_URL }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.ntfy.rule: Host(`push.fntz.net`)
|
||||
traefik.http.routers.ntfy.entrypoints: webSecure
|
||||
traefik.http.routers.ntfy.tls.certresolver: letsencrypt
|
||||
|
@@ -23,3 +23,9 @@
|
||||
TZ: "{{ TZ }}"
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.nzb.rule: Host(`nzb.fntz.net`)
|
||||
traefik.http.routers.nzb.entrypoints: webSecure
|
||||
traefik.http.routers.nzb.tls.certresolver: letsencrypt
|
||||
traefik.http.services.nzb.loadbalancer.server.port: "6789"
|
||||
|
@@ -22,3 +22,9 @@
|
||||
env:
|
||||
FTLCONF_webserver_api_password: "{{ PIHOLE_FTLCONF_WEBSERVER_API_PASSWORD }}"
|
||||
TZ: "{{ TZ }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.pihole.rule: Host(`pihole.fntz.net`)
|
||||
traefik.http.routers.pihole.entrypoints: webSecure
|
||||
traefik.http.routers.pihole.tls.certresolver: letsencrypt
|
||||
traefik.http.services.pihole.loadbalancer.server.port: "80"
|
||||
|
@@ -21,3 +21,9 @@
|
||||
TRUST_PROXY: "{{ POCKETID_TRUST_PROXY }}"
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.oidc.rule: Host(`oidc.fntz.net`)
|
||||
traefik.http.routers.oidc.entrypoints: webSecure
|
||||
traefik.http.routers.oidc.tls.certresolver: letsencrypt
|
||||
traefik.http.services.oidc.loadbalancer.server.port: "1411"
|
||||
|
@@ -61,3 +61,9 @@
|
||||
OIDC_CLIENT_SECRET: "{{ ROMM_OIDC_CLIENT_SECRET }}"
|
||||
OIDC_REDIRECT_URL: "{{ ROMM_OIDC_REDIRECT_URL }}"
|
||||
SERVER_APPLICATION_URL: "{{ ROMM_SERVER_APPLICATION_URL }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.emu.rule: Host(`emu.fntz.net`)
|
||||
traefik.http.routers.emu.entrypoints: webSecure
|
||||
traefik.http.routers.emu.tls.certresolver: letsencrypt
|
||||
traefik.http.services.emu.loadbalancer.server.port: "8080"
|
||||
|
@@ -21,6 +21,12 @@
|
||||
- "{{ NZBGET_DOWNLOADS_PATH }}:/downloads"
|
||||
networks:
|
||||
- name: homelab
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.radarr.rule: Host(`radarr.fntz.net`)
|
||||
traefik.http.routers.radarr.entrypoints: webSecure
|
||||
traefik.http.routers.radarr.tls.certresolver: letsencrypt
|
||||
traefik.http.services.radarr.loadbalancer.server.port: "7878"
|
||||
|
||||
- name: Deploy Sonarr Container
|
||||
docker_container:
|
||||
@@ -34,6 +40,12 @@
|
||||
- "{{ NZBGET_DOWNLOADS_PATH }}:/downloads"
|
||||
networks:
|
||||
- name: homelab
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.sonarr.rule: Host(`sonarr.fntz.net`)
|
||||
traefik.http.routers.sonarr.entrypoints: webSecure
|
||||
traefik.http.routers.sonarr.tls.certresolver: letsencrypt
|
||||
traefik.http.services.sonarr.loadbalancer.server.port: "8989"
|
||||
|
||||
- name: Deploy Lidarr Container
|
||||
docker_container:
|
||||
@@ -47,3 +59,9 @@
|
||||
- "{{ NZBGET_DOWNLOADS_PATH }}:/downloads"
|
||||
networks:
|
||||
- name: homelab
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.lidarr.rule: Host(`lidarr.fntz.net`)
|
||||
traefik.http.routers.lidarr.entrypoints: webSecure
|
||||
traefik.http.routers.lidarr.tls.certresolver: letsencrypt
|
||||
traefik.http.services.lidarr.loadbalancer.server.port: "8686"
|
||||
|
@@ -1,22 +0,0 @@
|
||||
- name: Create folder structure
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ data_dir }}/syncthing"
|
||||
|
||||
- name: Deploy Syncthing Docker Container
|
||||
docker_container:
|
||||
name: syncthing
|
||||
image: lscr.io/linuxserver/syncthing:latest
|
||||
recreate: true
|
||||
restart_policy: unless-stopped
|
||||
networks:
|
||||
- name: homelab
|
||||
env:
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
TZ: "{{ TZ }}"
|
||||
volumes:
|
||||
- "{{ data_dir }}/syncthing:/config"
|
||||
- "{{ SYNCTHING_DATA_PATH }}:/data"
|
@@ -20,3 +20,9 @@
|
||||
PUID: "{{ PUID }}"
|
||||
PGID: "{{ PGID }}"
|
||||
TZ: "{{ TZ }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.tt.rule: Host(`tt.fntz.net`)
|
||||
traefik.http.routers.tt.entrypoints: webSecure
|
||||
traefik.http.routers.tt.tls.certresolver: letsencrypt
|
||||
traefik.http.services.tt.loadbalancer.server.port: "8181"
|
||||
|
@@ -21,3 +21,9 @@
|
||||
OAUTH_WHITELIST: "{{ TINYAUTH_OAUTH_WHITELIST }}"
|
||||
APP_TITLE: "{{ TINYAUTH_APP_TITLE }}"
|
||||
BACKGROUND_IMAGE: "{{ TINYAUTH_BACKGROUND_IMAGE }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.tinyauth.rule: Host(`auth.fntz.net`)
|
||||
traefik.http.routers.tt.entrypoints: webSecure
|
||||
traefik.http.routers.tt.tls.certresolver: letsencrypt
|
||||
traefik.http.middlewares.tinyauth.forwardauth.address: http://tinyauth:3000/api/auth/traefik
|
||||
|
@@ -18,3 +18,9 @@
|
||||
- "{{ data_dir }}/vaultwarden:/data"
|
||||
env:
|
||||
DOMAIN: "{{ VAULTWARDEN_DOMAIN }}"
|
||||
labels:
|
||||
traefik.enable: "true"
|
||||
traefik.http.routers.vw.rule: Host(`vw.fntz.net`)
|
||||
traefik.http.routers.vw.entrypoints: webSecure
|
||||
traefik.http.routers.vw.tls.certresolver: letsencrypt
|
||||
traefik.http.services.vw.loadbalancer.server.port: "80"
|
||||
|
Reference in New Issue
Block a user