organize
Deploy Containers / Prepare (push) Successful in 5s

This commit is contained in:
2026-05-20 20:31:24 -04:00
parent 894be8a440
commit c08dc6b088
40 changed files with 32 additions and 223 deletions
+32 -38
View File
@@ -8,7 +8,7 @@
tasks:
- name: Deploy Tinyauth
import_tasks: tasks/tinyauth.yml
import_tasks: tasks/auth/tinyauth.yml
tags: tinyauth_deploy
- name: Deploy Postgres
import_tasks: tasks/postgres.yml
@@ -17,77 +17,74 @@
import_tasks: tasks/mariadb.yml
tags: mariadb_deploy
- name: Deploy AdGuard Home
import_tasks: tasks/adguard.yml
import_tasks: tasks/utility/adguard.yml
tags: adguard_deploy
- name: Deploy Glance
import_tasks: tasks/glance.yml
tags: glance_deploy
- name: Deploy Dozzle
import_tasks: tasks/dozzle.yml
import_tasks: tasks/utility/dozzle.yml
tags: dozzle_deploy
- name: Deploy Cup
import_tasks: tasks/cup.yml
import_tasks: tasks/utility/cup.yml
tags: cup_deploy
- name: Deploy Homebridge
import_tasks: tasks/homebridge.yml
import_tasks: tasks/utility/homebridge.yml
tags: homebridge_deploy
- name: Deploy Code Server
import_tasks: tasks/codeserver.yml
import_tasks: tasks/utility/codeserver.yml
tags: codeserver_deploy
- name: Deploy PocketID
import_tasks: tasks/pocketid.yml
import_tasks: tasks/auth/pocketid.yml
tags: pocketid_deploy
- name: Deploy Scrobbling Setup
import_tasks: tasks/scrobbling.yml
import_tasks: tasks/media/scrobbling.yml
tags: scrobbling_deploy
- name: Deploy Vaultwarden
import_tasks: tasks/vaultwarden.yml
import_tasks: tasks/utility/vaultwarden.yml
tags: vaultwarden_deploy
- name: Deploy Immich
import_tasks: tasks/immich.yml
import_tasks: tasks/media/immich.yml
tags: immich_deploy
- name: Deploy Plex
import_tasks: tasks/plex.yml
import_tasks: tasks/media/plex.yml
tags: plex_deploy
- name: Deploy ErsatzTV
import_tasks: tasks/ersatztv.yml
import_tasks: tasks/media/ersatztv.yml
tags: ersatztv_deploy
- name: Deploy Frigate
import_tasks: tasks/frigate.yml
import_tasks: tasks/media/frigate.yml
tags: frigate_deploy
- name: Deploy Servarr
import_tasks: tasks/servarr.yml
import_tasks: tasks/media/servarr.yml
tags: servarr_deploy
- name: Deploy NZBGet
import_tasks: tasks/nzbget.yml
import_tasks: tasks/media/nzbget.yml
tags: nzbget_deploy
- name: Deploy Uptime Kuma
import_tasks: tasks/uptime-kuma.yml
import_tasks: tasks/utility/uptime-kuma.yml
tags: uptime-kuma_deploy
- name: Deploy Romm
import_tasks: tasks/romm.yml
import_tasks: tasks/gaming/romm.yml
tags: romm_deploy
- name: Deploy Pelican
import_tasks: tasks/pelican.yml
import_tasks: tasks/gaming/pelican.yml
tags: pelican_deploy
- name: Deploy Docs
import_tasks: tasks/docs.yml
import_tasks: tasks/utility/docs.yml
tags: docs_deploy
- name: Deploy Audiobookshelf
import_tasks: tasks/audiobookshelf.yml
import_tasks: tasks/media/audiobookshelf.yml
tags: audiobookshelf_deploy
- name: Deploy Cloudflared
import_tasks: tasks/cloudflared.yml
import_tasks: tasks/utility/cloudflared.yml
tags: cloudflared_deploy
- name: Deploy Gitea Runner
import_tasks: tasks/runner.yml
import_tasks: tasks/infra/runner.yml
tags: runner_deploy
- name: Deploy Weatherstar
import_tasks: tasks/weatherstar.yml
import_tasks: tasks/media/weatherstar.yml
tags: weatherstar_deploy
- name: Deploy Plex Webhook
import_tasks: tasks/plexwebhook.yml
tags: plexwebhook_deploy
- name: Deploy Nextcloud
import_tasks: tasks/nextcloud.yml
tags: nextcloud_deploy
@@ -103,25 +100,22 @@
import_tasks: tasks/gitea.yml
tags: gitea_deploy
- name: Deploy API
import_tasks: tasks/api.yml
import_tasks: tasks/utility/api.yml
tags: api_deploy
- name: Deploy Storage API
import_tasks: tasks/storage-api.yml
import_tasks: tasks/utility/storage-api.yml
tags: storage-api_deploy
- name: Deploy Plausible
import_tasks: tasks/plausible.yml
import_tasks: tasks/utility/plausible.yml
tags: plausible_deploy
- name: Deploy Pelican
import_tasks: tasks/pelican.yml
tags: pelican_deploy
- name: Deploy Database
import_tasks: tasks/mariadb.yml
import_tasks: tasks/infra/mariadb.yml
tags: mariadb_deploy
- name: Deploy Floof
import_tasks: tasks/floof.yml
import_tasks: tasks/gaming/floof.yml
tags: floof_deploy
- name: Deploy Tinyauth
import_tasks: tasks/tinyauth.yml
import_tasks: tasks/auth/tinyauth.yml
tags: tinyauth_deploy
- name: Deploy Cobalt
import_tasks: tasks/cobalt.yml
@@ -130,11 +124,11 @@
import_tasks: tasks/nextcloud.yml
tags: nextcloud_deploy
- name: Deploy Postgres
import_tasks: tasks/postgres.yml
import_tasks: tasks/infra/postgres.yml
tags: postgres_deploy
- name: Deploy Dozzle
import_tasks: tasks/dozzle.yml
import_tasks: tasks/utility/dozzle.yml
tags: dozzle_deploy
- name: Deploy Redis
import_tasks: tasks/redis.yml
import_tasks: tasks/infra/redis.yml
tags: redis_deploy
-26
View File
@@ -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"
-53
View File
@@ -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"
-28
View File
@@ -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 }}"
-31
View File
@@ -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"
-21
View File
@@ -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"
-26
View File
@@ -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"