@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
- name: Deploy Tinyauth
|
- name: Deploy Tinyauth
|
||||||
import_tasks: tasks/tinyauth.yml
|
import_tasks: tasks/auth/tinyauth.yml
|
||||||
tags: tinyauth_deploy
|
tags: tinyauth_deploy
|
||||||
- name: Deploy Postgres
|
- name: Deploy Postgres
|
||||||
import_tasks: tasks/postgres.yml
|
import_tasks: tasks/postgres.yml
|
||||||
@@ -17,77 +17,74 @@
|
|||||||
import_tasks: tasks/mariadb.yml
|
import_tasks: tasks/mariadb.yml
|
||||||
tags: mariadb_deploy
|
tags: mariadb_deploy
|
||||||
- name: Deploy AdGuard Home
|
- name: Deploy AdGuard Home
|
||||||
import_tasks: tasks/adguard.yml
|
import_tasks: tasks/utility/adguard.yml
|
||||||
tags: adguard_deploy
|
tags: adguard_deploy
|
||||||
- name: Deploy Glance
|
- name: Deploy Glance
|
||||||
import_tasks: tasks/glance.yml
|
import_tasks: tasks/glance.yml
|
||||||
tags: glance_deploy
|
tags: glance_deploy
|
||||||
- name: Deploy Dozzle
|
- name: Deploy Dozzle
|
||||||
import_tasks: tasks/dozzle.yml
|
import_tasks: tasks/utility/dozzle.yml
|
||||||
tags: dozzle_deploy
|
tags: dozzle_deploy
|
||||||
- name: Deploy Cup
|
- name: Deploy Cup
|
||||||
import_tasks: tasks/cup.yml
|
import_tasks: tasks/utility/cup.yml
|
||||||
tags: cup_deploy
|
tags: cup_deploy
|
||||||
- name: Deploy Homebridge
|
- name: Deploy Homebridge
|
||||||
import_tasks: tasks/homebridge.yml
|
import_tasks: tasks/utility/homebridge.yml
|
||||||
tags: homebridge_deploy
|
tags: homebridge_deploy
|
||||||
- name: Deploy Code Server
|
- name: Deploy Code Server
|
||||||
import_tasks: tasks/codeserver.yml
|
import_tasks: tasks/utility/codeserver.yml
|
||||||
tags: codeserver_deploy
|
tags: codeserver_deploy
|
||||||
- name: Deploy PocketID
|
- name: Deploy PocketID
|
||||||
import_tasks: tasks/pocketid.yml
|
import_tasks: tasks/auth/pocketid.yml
|
||||||
tags: pocketid_deploy
|
tags: pocketid_deploy
|
||||||
- name: Deploy Scrobbling Setup
|
- name: Deploy Scrobbling Setup
|
||||||
import_tasks: tasks/scrobbling.yml
|
import_tasks: tasks/media/scrobbling.yml
|
||||||
tags: scrobbling_deploy
|
tags: scrobbling_deploy
|
||||||
- name: Deploy Vaultwarden
|
- name: Deploy Vaultwarden
|
||||||
import_tasks: tasks/vaultwarden.yml
|
import_tasks: tasks/utility/vaultwarden.yml
|
||||||
tags: vaultwarden_deploy
|
tags: vaultwarden_deploy
|
||||||
- name: Deploy Immich
|
- name: Deploy Immich
|
||||||
import_tasks: tasks/immich.yml
|
import_tasks: tasks/media/immich.yml
|
||||||
tags: immich_deploy
|
tags: immich_deploy
|
||||||
- name: Deploy Plex
|
- name: Deploy Plex
|
||||||
import_tasks: tasks/plex.yml
|
import_tasks: tasks/media/plex.yml
|
||||||
tags: plex_deploy
|
tags: plex_deploy
|
||||||
- name: Deploy ErsatzTV
|
- name: Deploy ErsatzTV
|
||||||
import_tasks: tasks/ersatztv.yml
|
import_tasks: tasks/media/ersatztv.yml
|
||||||
tags: ersatztv_deploy
|
tags: ersatztv_deploy
|
||||||
- name: Deploy Frigate
|
- name: Deploy Frigate
|
||||||
import_tasks: tasks/frigate.yml
|
import_tasks: tasks/media/frigate.yml
|
||||||
tags: frigate_deploy
|
tags: frigate_deploy
|
||||||
- name: Deploy Servarr
|
- name: Deploy Servarr
|
||||||
import_tasks: tasks/servarr.yml
|
import_tasks: tasks/media/servarr.yml
|
||||||
tags: servarr_deploy
|
tags: servarr_deploy
|
||||||
- name: Deploy NZBGet
|
- name: Deploy NZBGet
|
||||||
import_tasks: tasks/nzbget.yml
|
import_tasks: tasks/media/nzbget.yml
|
||||||
tags: nzbget_deploy
|
tags: nzbget_deploy
|
||||||
- name: Deploy Uptime Kuma
|
- name: Deploy Uptime Kuma
|
||||||
import_tasks: tasks/uptime-kuma.yml
|
import_tasks: tasks/utility/uptime-kuma.yml
|
||||||
tags: uptime-kuma_deploy
|
tags: uptime-kuma_deploy
|
||||||
- name: Deploy Romm
|
- name: Deploy Romm
|
||||||
import_tasks: tasks/romm.yml
|
import_tasks: tasks/gaming/romm.yml
|
||||||
tags: romm_deploy
|
tags: romm_deploy
|
||||||
- name: Deploy Pelican
|
- name: Deploy Pelican
|
||||||
import_tasks: tasks/pelican.yml
|
import_tasks: tasks/gaming/pelican.yml
|
||||||
tags: pelican_deploy
|
tags: pelican_deploy
|
||||||
- name: Deploy Docs
|
- name: Deploy Docs
|
||||||
import_tasks: tasks/docs.yml
|
import_tasks: tasks/utility/docs.yml
|
||||||
tags: docs_deploy
|
tags: docs_deploy
|
||||||
- name: Deploy Audiobookshelf
|
- name: Deploy Audiobookshelf
|
||||||
import_tasks: tasks/audiobookshelf.yml
|
import_tasks: tasks/media/audiobookshelf.yml
|
||||||
tags: audiobookshelf_deploy
|
tags: audiobookshelf_deploy
|
||||||
- name: Deploy Cloudflared
|
- name: Deploy Cloudflared
|
||||||
import_tasks: tasks/cloudflared.yml
|
import_tasks: tasks/utility/cloudflared.yml
|
||||||
tags: cloudflared_deploy
|
tags: cloudflared_deploy
|
||||||
- name: Deploy Gitea Runner
|
- name: Deploy Gitea Runner
|
||||||
import_tasks: tasks/runner.yml
|
import_tasks: tasks/infra/runner.yml
|
||||||
tags: runner_deploy
|
tags: runner_deploy
|
||||||
- name: Deploy Weatherstar
|
- name: Deploy Weatherstar
|
||||||
import_tasks: tasks/weatherstar.yml
|
import_tasks: tasks/media/weatherstar.yml
|
||||||
tags: weatherstar_deploy
|
tags: weatherstar_deploy
|
||||||
- name: Deploy Plex Webhook
|
|
||||||
import_tasks: tasks/plexwebhook.yml
|
|
||||||
tags: plexwebhook_deploy
|
|
||||||
- name: Deploy Nextcloud
|
- name: Deploy Nextcloud
|
||||||
import_tasks: tasks/nextcloud.yml
|
import_tasks: tasks/nextcloud.yml
|
||||||
tags: nextcloud_deploy
|
tags: nextcloud_deploy
|
||||||
@@ -103,25 +100,22 @@
|
|||||||
import_tasks: tasks/gitea.yml
|
import_tasks: tasks/gitea.yml
|
||||||
tags: gitea_deploy
|
tags: gitea_deploy
|
||||||
- name: Deploy API
|
- name: Deploy API
|
||||||
import_tasks: tasks/api.yml
|
import_tasks: tasks/utility/api.yml
|
||||||
tags: api_deploy
|
tags: api_deploy
|
||||||
- name: Deploy Storage API
|
- name: Deploy Storage API
|
||||||
import_tasks: tasks/storage-api.yml
|
import_tasks: tasks/utility/storage-api.yml
|
||||||
tags: storage-api_deploy
|
tags: storage-api_deploy
|
||||||
- name: Deploy Plausible
|
- name: Deploy Plausible
|
||||||
import_tasks: tasks/plausible.yml
|
import_tasks: tasks/utility/plausible.yml
|
||||||
tags: plausible_deploy
|
tags: plausible_deploy
|
||||||
- name: Deploy Pelican
|
|
||||||
import_tasks: tasks/pelican.yml
|
|
||||||
tags: pelican_deploy
|
|
||||||
- name: Deploy Database
|
- name: Deploy Database
|
||||||
import_tasks: tasks/mariadb.yml
|
import_tasks: tasks/infra/mariadb.yml
|
||||||
tags: mariadb_deploy
|
tags: mariadb_deploy
|
||||||
- name: Deploy Floof
|
- name: Deploy Floof
|
||||||
import_tasks: tasks/floof.yml
|
import_tasks: tasks/gaming/floof.yml
|
||||||
tags: floof_deploy
|
tags: floof_deploy
|
||||||
- name: Deploy Tinyauth
|
- name: Deploy Tinyauth
|
||||||
import_tasks: tasks/tinyauth.yml
|
import_tasks: tasks/auth/tinyauth.yml
|
||||||
tags: tinyauth_deploy
|
tags: tinyauth_deploy
|
||||||
- name: Deploy Cobalt
|
- name: Deploy Cobalt
|
||||||
import_tasks: tasks/cobalt.yml
|
import_tasks: tasks/cobalt.yml
|
||||||
@@ -130,11 +124,11 @@
|
|||||||
import_tasks: tasks/nextcloud.yml
|
import_tasks: tasks/nextcloud.yml
|
||||||
tags: nextcloud_deploy
|
tags: nextcloud_deploy
|
||||||
- name: Deploy Postgres
|
- name: Deploy Postgres
|
||||||
import_tasks: tasks/postgres.yml
|
import_tasks: tasks/infra/postgres.yml
|
||||||
tags: postgres_deploy
|
tags: postgres_deploy
|
||||||
- name: Deploy Dozzle
|
- name: Deploy Dozzle
|
||||||
import_tasks: tasks/dozzle.yml
|
import_tasks: tasks/utility/dozzle.yml
|
||||||
tags: dozzle_deploy
|
tags: dozzle_deploy
|
||||||
- name: Deploy Redis
|
- name: Deploy Redis
|
||||||
import_tasks: tasks/redis.yml
|
import_tasks: tasks/infra/redis.yml
|
||||||
tags: redis_deploy
|
tags: redis_deploy
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Deploy Cobalt
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: cobalt
|
|
||||||
directories:
|
|
||||||
- "{{ data_dir }}/cobalt"
|
|
||||||
image:
|
|
||||||
name: ghcr.io/imputnet/cobalt
|
|
||||||
tag: 11
|
|
||||||
env:
|
|
||||||
API_URL: "https://dl.alexav.gg"
|
|
||||||
JWT_SECRET: "{{ COBALT_JWT_SECRET }}"
|
|
||||||
API_AUTH_REQUIRED: "1"
|
|
||||||
API_KEY_URL: "file:///keys.json"
|
|
||||||
networks:
|
|
||||||
- name: "{{ docker_network_name }}"
|
|
||||||
volumes:
|
|
||||||
- "{{ data_dir }}/cobalt/keys.json:/keys.json:ro"
|
|
||||||
labels:
|
|
||||||
traefik.enable: "true"
|
|
||||||
traefik.http.routers.cobalt.rule: Host(`dl.alexav.gg`)
|
|
||||||
traefik.http.routers.cobalt.entrypoints: webSecure
|
|
||||||
traefik.http.routers.cobalt.tls.certresolver: letsencrypt
|
|
||||||
traefik.http.services.cobalt.loadbalancer.server.port: "9000"
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create folder structure
|
|
||||||
file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/gluetun"
|
|
||||||
|
|
||||||
- name: Pull latest Gluetun Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: qmcgaw/gluetun
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Deploy Gluetun Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: gluetun
|
|
||||||
image: qmcgaw/gluetun
|
|
||||||
recreate: true
|
|
||||||
capabilities:
|
|
||||||
- NET_ADMIN
|
|
||||||
devices:
|
|
||||||
- /dev/net/tun:/dev/net/tun
|
|
||||||
volumes:
|
|
||||||
- "{{ data_dir }}/gluetun:/gluetun"
|
|
||||||
networks:
|
|
||||||
- name: homelab
|
|
||||||
published_ports:
|
|
||||||
- 8888:8888/tcp
|
|
||||||
- 8388:8388/tcp
|
|
||||||
- 8388:8388/udp
|
|
||||||
env:
|
|
||||||
VPN_SERVICE_PROVIDER: "{{ GLUETUN_VPN_SERVICE_PROVIDER }}"
|
|
||||||
VPN_TYPE: "wireguard"
|
|
||||||
WIREGUARD_PRIVATE_KEY: "{{ GLUETUN_WIREGUARD_PRIVATE_KEY }}"
|
|
||||||
WIREGUARD_ADDRESSES: "{{ GLUETUN_WIREGUARD_ADDRESSES }}"
|
|
||||||
SERVER_COUNTRIES: "{{ GLUETUN_SERVER_COUNTRIES }}"
|
|
||||||
SERVER_CITIES: "{{ GLUETUN_SERVER_CITIES }}"
|
|
||||||
SERVER_HOSTNAMES: "{{ GLUETUN_SERVER_HOSTNAMES }}"
|
|
||||||
labels:
|
|
||||||
traefik.enable: "true"
|
|
||||||
|
|
||||||
traefik.http.routers.qbit.rule: Host(`qbit.fntz.net`)
|
|
||||||
traefik.http.routers.qbit.service: qbit
|
|
||||||
traefik.http.routers.qbit.entrypoints: webSecure
|
|
||||||
traefik.http.routers.qbit.tls.certresolver: letsencrypt
|
|
||||||
traefik.http.services.qbit.loadbalancer.server.port: "8090"
|
|
||||||
|
|
||||||
traefik.http.routers.jackett.rule: Host(`jackett.fntz.net`)
|
|
||||||
traefik.http.routers.jackett.service: jackett
|
|
||||||
traefik.http.routers.jackett.entrypoints: webSecure
|
|
||||||
traefik.http.routers.jackett.tls.certresolver: letsencrypt
|
|
||||||
traefik.http.services.jackett.loadbalancer.server.port: "9117"
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create folder structure
|
|
||||||
file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/jackett"
|
|
||||||
|
|
||||||
- name: Pull latest Jackett Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: lscr.io/linuxserver/jackett
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Deploy Jackett Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: jackett
|
|
||||||
image: lscr.io/linuxserver/jackett
|
|
||||||
recreate: true
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
network_mode: "container:gluetun"
|
|
||||||
volumes:
|
|
||||||
- "{{ data_dir }}/jackett:/config"
|
|
||||||
- "{{ media_path}}/Downloads:/downloads"
|
|
||||||
env:
|
|
||||||
PUID: "{{ PUID }}"
|
|
||||||
PGID: "{{ PGID }}"
|
|
||||||
TZ: "{{ TZ }}"
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create folder structure
|
|
||||||
file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/navidrome"
|
|
||||||
|
|
||||||
- name: Pull latest Navidrome Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: deluan/navidrome
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Create Navidrome Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: navidrome
|
|
||||||
image: deluan/navidrome:latest
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
recreate: true
|
|
||||||
networks:
|
|
||||||
- name: homelab
|
|
||||||
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"
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
- name: Deploy Plex Webhook
|
|
||||||
include_role:
|
|
||||||
name: docker
|
|
||||||
vars:
|
|
||||||
name: plex-webhook
|
|
||||||
image:
|
|
||||||
name: git.alexav.gg/alex/plex-webhook
|
|
||||||
tag: latest
|
|
||||||
networks:
|
|
||||||
- name: homelab
|
|
||||||
env:
|
|
||||||
DISCORD_WEBHOOK: "{{ PLEX_WEBHOOK_DISCORD_WEBHOOK }}"
|
|
||||||
APPLICATION_TOKEN: "{{ PLEX_WEBHOOK_APPLICATION_TOKEN }}"
|
|
||||||
PLEX_TOKEN: "{{ PLEX_WEBHOOK_PLEX_TOKEN }}"
|
|
||||||
STORAGE_TOKEN: "{{ PLEX_WEBHOOK_STORAGE_TOKEN }}"
|
|
||||||
labels:
|
|
||||||
traefik.enable: "true"
|
|
||||||
traefik.http.routers.plexwebhook.rule: Host(`plex-webhook.fntz.net`)
|
|
||||||
traefik.http.routers.plexwebhook.entrypoints: webSecure
|
|
||||||
traefik.http.routers.plexwebhook.tls.certresolver: letsencrypt
|
|
||||||
traefik.http.services.plexwebhook.loadbalancer.server.port: "3000"
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Create folder structure
|
|
||||||
file:
|
|
||||||
path: "{{ item }}"
|
|
||||||
state: directory
|
|
||||||
with_items:
|
|
||||||
- "{{ data_dir }}/qbittorrent"
|
|
||||||
|
|
||||||
- name: Pull latest QBittorrent Docker Image
|
|
||||||
docker_image:
|
|
||||||
name: lscr.io/linuxserver/qbittorrent
|
|
||||||
tag: latest
|
|
||||||
source: pull
|
|
||||||
|
|
||||||
- name: Deploy QBittorrent Docker Container
|
|
||||||
docker_container:
|
|
||||||
name: qbittorrent
|
|
||||||
image: lscr.io/linuxserver/qbittorrent
|
|
||||||
network_mode: "container:gluetun"
|
|
||||||
recreate: true
|
|
||||||
env:
|
|
||||||
PUID: "{{ PUID }}"
|
|
||||||
PGID: "{{ PGID }}"
|
|
||||||
TZ: "{{ TZ }}"
|
|
||||||
WEBUI_PORT: "8090"
|
|
||||||
TORRENTING_PORT: "6861"
|
|
||||||
Reference in New Issue
Block a user