diff --git a/main.yml b/main.yml index 77f8033..14b8cee 100644 --- a/main.yml +++ b/main.yml @@ -39,9 +39,6 @@ - name: Deploy Scrobbling Setup import_tasks: tasks/scrobbling.yml tags: scrobbling_deploy - - name: Deploy Monitoring - import_tasks: tasks/monitoring.yml - tags: monitoring_deploy - name: Deploy Vaultwarden import_tasks: tasks/vaultwarden.yml tags: vaultwarden_deploy @@ -69,18 +66,12 @@ - name: Deploy Uptime Kuma import_tasks: tasks/uptime-kuma.yml tags: uptime-kuma_deploy - - name: Deploy Duplicati - import_tasks: tasks/duplicati.yml - tags: duplicati_deploy - name: Deploy Romm import_tasks: tasks/romm.yml tags: romm_deploy - name: Deploy Booklore import_tasks: tasks/booklore.yml tags: booklore_deploy - - name: Deploy Marreta - import_tasks: tasks/marreta.yml - tags: marreta_deploy - name: Deploy Pelican import_tasks: tasks/pelican.yml tags: pelican_deploy diff --git a/tasks/cobalt.yml b/tasks/cobalt.yml index a375064..1ae42cf 100644 --- a/tasks/cobalt.yml +++ b/tasks/cobalt.yml @@ -12,6 +12,8 @@ TURNSTILE_SITEKEY: "{{ COBALT_TURNSTILE_SITEKEY }}" TURNSTILE_SECRET: "{{ COBALT_TURNSTILE_SECRET }}" JWT_SECRET: "{{ COBALT_JWT_SECRET }}" + networks: + - name: "{{ docker_network_name }}" labels: traefik.enable: "true" traefik.http.routers.cobalt.rule: Host(`dl.alexav.gg`) diff --git a/tasks/docs.yml b/tasks/docs.yml index 18a2a16..3972a8f 100644 --- a/tasks/docs.yml +++ b/tasks/docs.yml @@ -14,6 +14,8 @@ DB_USER: "wikijs" DB_PASS: "wikijs" DB_NAME: "wikijs" + networks: + - name: homelab labels: traefik.enable: "true" traefik.http.routers.docs.rule: Host(`docs.fntz.net`) diff --git a/tasks/duplicati.yml b/tasks/duplicati.yml deleted file mode 100644 index c0c5af5..0000000 --- a/tasks/duplicati.yml +++ /dev/null @@ -1,30 +0,0 @@ ---- -- name: Deploy Duplicati - include_role: - name: docker - vars: - name: duplicati - directories: - - "{{ data_dir }}/duplicati/app" - - "{{ data_dir }}/duplicati/backups" - image: - name: lscr.io/linuxserver/duplicati - tag: latest - volumes: - - "{{ data_dir }}/duplicati/app:/config" - - "{{ data_dir }}/duplicati/backups:/backups" - - "{{ share_path }}:/source:ro" - - "{{ DUPLICATI_SSH_KEY_PATH }}:/app/ssh/id_ed25519:ro" - - "{{ DUPLICATI_SSH_PUB_KEY_PATH }}:/app/ssh/id_ed25519.pub:ro" - env: - PUID: "1000" - PGID: "1000" - SETTINGS_ENCRYPTION_KEY: "{{ DUPLICATI_ENCRYPTION_KEY }}" - networks: - - name: "homelab" - labels: - traefik.enable: "true" - traefik.http.routers.duplicati.rule: Host(`backups.fntz.net`) - traefik.http.routers.duplicati.entrypoints: webSecure - traefik.http.routers.duplicati.tls.certresolver: letsencrypt - traefik.http.services.duplicati.loadbalancer.server.port: "8200" diff --git a/tasks/marreta.yml b/tasks/marreta.yml deleted file mode 100644 index e6330cb..0000000 --- a/tasks/marreta.yml +++ /dev/null @@ -1,64 +0,0 @@ ---- -- name: Deploy Marreta - include_role: - name: docker - vars: - name: marreta - network_name: marreta - networks: - - name: homelab - - name: marreta - image: - name: ghcr.io/manualdousuario/marreta - tag: latest - env: - SITE_NAME: "Marreta" - SITE_DESCRIPTION: "Jackson Marreta Instance" - SITE_URL: "{{ MARRETA_APP_URL }}" - DNS_SERVERS: "1.1.1.1,8.8.8.8" - LANGUANGE: "en" - LOG_LEVEL: "info" - SELENIUM_HOST: "marreta_selenium-hub:4444" - CLEANUP_DATS: "7" - PROXY_LIST: "url" - labels: - traefik.enable: "true" - traefik.http.routers.marreta.rule: Host(`ladder.fntz.net`) - traefik.http.routers.marreta.entrypoints: webSecure - traefik.http.routers.marreta.tls.certresolver: letsencrypt - traefik.http.services.marreta.loadbalancer.server.port: "80" - -- name: Deploy Selenium Hub - include_role: - name: docker - vars: - name: marreta_selenium-hub - networks: - - name: marreta - image: - name: selenium/hub - tag: 4.27.0-20241204 - env: - SE_ENABLE_TRACING: "false" - GRID_MAX_SESSION: "10" - GRID_BROWSER_TIMEOUT: "10" - GRID_TIMEOUT: "10" - -- name: Deploy Selenium Chromium - include_role: - name: docker - vars: - name: marreta_selenium-chromium - shm_size: 2gb - networks: - - name: marreta - image: - name: selenium/node-chromium - tag: 4.27.0-20241204 - env: - SE_EVENT_BUS_HOST: "marreta_selenium-hub" - SE_EVENT_BUS_PUBLISH_PORT: "4442" - SE_EVENT_BUS_SUBSCRIBE_PORT: "4443" - SE_ENABLE_TRACING: "false" - SE_NODE_MAX_SESSIONS: "10" - SE_NODE_OVERRIDE_MAX_SESSIONS: "true" diff --git a/tasks/monitoring.yml b/tasks/monitoring.yml deleted file mode 100644 index c33481c..0000000 --- a/tasks/monitoring.yml +++ /dev/null @@ -1,139 +0,0 @@ ---- -- name: Create folder structure - file: - path: "{{ item }}" - state: directory - with_items: - - "{{ data_dir }}/monitoring" - - "{{ data_dir }}/monitoring/grafana" - - "{{ data_dir }}/monitoring/loki" - - "{{ data_dir }}/monitoring/promtail" - - "{{ data_dir }}/monitoring/prometheus" - -# copy configs for loki, promtail & prometheus -- name: Create Loki Configuration - template: - src: templates/monitoring/loki.yaml.j2 - dest: "{{ data_dir }}/monitoring/loki/loki-config.yaml" -- name: Create Promtail Configuration - template: - src: templates/monitoring/promtail.yaml.j2 - dest: "{{ data_dir }}/monitoring/promtail/promtail-config.yaml" -- name: Create Prometheus Configuration - template: - src: templates/monitoring/prometheus.yml.j2 - dest: "{{ data_dir }}/monitoring/prometheus/prometheus.yml" - -- name: Deploy Prometheus - include_role: - name: docker - vars: - name: monitoring_prometheus - network_name: "monitoring" - networks: - - name: "monitoring" - - name: "homelab" - image: - name: prom/prometheus - tag: latest - volumes: - - "{{ data_dir }}/monitoring/prometheus:/etc/prometheus" - - "{{ data_dir }}/monitoring/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml" - labels: - traefik.enable: "true" - traefik.http.routers.prom.rule: Host(`prom.fntz.net`) - traefik.http.routers.prom.entrypoints: webSecure - traefik.http.routers.prom.tls.certresolver: letsencrypt - traefik.http.services.prom.loadbalancer.server.port: "9090" - -- name: Deploy Promtail - include_role: - name: docker - vars: - name: monitoring_promtail - image: - name: grafana/promtail - tag: latest - networks: - - name: monitoring - command: -config.file=/etc/promtail/config.yaml - volumes: - - "{{ data_dir }}/monitoring/promtail/promtail-config.yaml:/etc/promtail/config.yaml" - - "/var/log:/var/log:ro" - - "/var/run/docker.sock:/var/run/docker.sock:ro" - - "/var/lib/docker/containers:/var/lib/docker/containers:ro" - -- name: Deploy Loki - include_role: - name: docker - vars: - name: monitoring_loki - volume_name: grafana-loki - image: - name: grafana/loki - tag: latest - volumes: - - "{{ data_dir }}/monitoring/loki/loki-config.yaml:/etc/loki/local-config.yaml" - - "grafana-loki:/loki" - networks: - - name: "monitoring" - -- name: Deploy Node Exporter - include_role: - name: docker - vars: - name: monitoring_node-exporter - image: - name: prom/node-exporter - tag: latest - command: - - "--path.rootfs=host" - network_mode: host - pid_mode: host - volumes: - - "/:/host:ro,rslave" - -- name: Deploy CAdvisor - include_role: - name: docker - vars: - name: monitoring_cadvisor - image: - name: ghcr.io/google/cadvisor - tag: 0.55.1 - networks: - - name: "monitoring" - volumes: - - "/:/rootfs:ro" - - "/var/run:/var/run:ro" - - "/sys:/sys:ro" - - "/var/lib/docker:/var/lib/docker:ro" - - "/dev/disk:/dev/disk:ro" - privileged: true - devices: - - /dev/kmsg - -- name: Deploy Grafana - include_role: - name: docker - vars: - name: monitoring_grafana - volume_name: "grafana-storage" - networks: - - name: "monitoring" - - name: "homelab" - image: - name: grafana/grafana - tag: latest - user: "{{ PUID }}" - volumes: - - "grafana-storage:/var/lib/grafana" - env: - GF_AUTH_ANONYMOUS_ENABLED: "{{ GRAFANA_AUTH_ANONYMOUS_ENABLED }}" - labels: - traefik.enable: "true" - traefik.http.routers.grafana.rule: Host(`grafana.fntz.net`) - traefik.http.routers.grafana.entrypoints: webSecure - traefik.http.routers.grafana.tls.certresolver: letsencrypt - traefik.http.services.grafana.loadbalancer.server.port: "3000" - traefik.http.routers.grafana.middlewares: tinyauth diff --git a/tasks/plex.yml b/tasks/plex.yml index fb482ee..9fcf1ed 100644 --- a/tasks/plex.yml +++ b/tasks/plex.yml @@ -1,24 +1,14 @@ --- -- name: Create folder structure - file: - path: "{{ item }}" - state: directory - with_items: - - "{{ data_dir }}/plex" - -- name: Pull latest Plex Docker Image - docker_image: - name: lscr.io/linuxserver/plex - tag: latest - source: pull - -- name: Deploy Plex Docker Container - docker_container: +- name: Deploy Plex + include_role: + name: docker + vars: name: plex - image: lscr.io/linuxserver/plex - network_mode: host - restart_policy: unless-stopped - recreate: true + image: + name: lscr.io/linuxserver/plex + tag: latest + networks: + - name: homelab devices: - /dev/dri:/dev/dri env: