diff --git a/CLAUDE.md b/CLAUDE.md index dbf883e..edbe848 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -69,7 +69,7 @@ The docker role is now organized into logical service groups under `roles/docker - **communication/**: Social media - GoToSocial (Fediverse) - **monitoring/**: System monitoring and alerts - - Changedetection, Glance dashboard, AppriseAPI, Gotify, Cronmaster + - Changedetection, AppriseAPI, Gotify, Cronmaster ### Variable Management **Critical**: This infrastructure uses a centralized variable hierarchy in `group_vars/all/`: @@ -138,7 +138,6 @@ Common domains requiring hairpinning fixes: - karakeep (formerly called hoarder) is deployed with both 'hoarder' and 'karakeep' tags for backward compatibility - whenever i ask you what containers need updates, run dockcheck and return a list of containers needing updates - when i ask for the status container updates i want you to run dockcheck on the docker host https://github.com/mag37/dockcheck?ref=selfh.st -- this is your reference for glance configuration https://github.com/glanceapp/glance/blob/main/docs/configuration.md#configuring-glance ## Variable Management Implementation Notes **Major Infrastructure Update**: Variable management system was implemented to replace all hardcoded values with centralized variables. @@ -157,7 +156,6 @@ Common domains requiring hairpinning fixes: All templates now follow this pattern: ```yaml # Use variables, not hardcoded values -glance.url: "https://{{ subdomains.service }}/" networks: default: external: true diff --git a/README.md b/README.md index 1ed8b94..db6234c 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,6 @@ The Docker role deploys and manages 21 self-hosted services organized into logic ### Monitoring - **Changedetection** (Website change monitoring) -- **Glance** (Dashboard) - **AppriseAPI** (Notification service) - **Gotify** (Push notifications) - **Cronmaster** (Scheduled container tasks) @@ -90,7 +89,7 @@ The most comprehensive role, deploying 21 containerized services organized into - **Media**: Audiobookshelf, Calibre, Karakeep, Manyfold - **Productivity**: Paperless-NGX, Baikal, Syncthing, HeyForm, Dawarich, Obsidian LiveSync - **Communication**: GoToSocial -- **Monitoring**: Glance dashboard, Changedetection, AppriseAPI, Gotify, Cronmaster +- **Monitoring**: Changedetection, AppriseAPI, Gotify, Cronmaster - **Template-Driven**: All services use Jinja2 templates for consistent configuration - **Category-Based Deployment**: Deploy services by category using Ansible tags diff --git a/dns.yml b/dns.yml index f0772ee..66b9067 100644 --- a/dns.yml +++ b/dns.yml @@ -15,8 +15,6 @@ domains: - name: thesatelliteoflove.com dns_records: - - name: "home" - ip: "{{ network.netcup_ip }}" - name: "git" ip: "{{ network.netcup_ip }}" - name: "social" @@ -72,6 +70,8 @@ removed_records: - name: thesatelliteoflove.com dns_records: + - name: "home" + ip: "{{ network.netcup_ip }}" - name: "pin" ip: "{{ network.netcup_ip }}" - name: "code" diff --git a/group_vars/all/domains.yml b/group_vars/all/domains.yml index 8b9eafc..f84db14 100644 --- a/group_vars/all/domains.yml +++ b/group_vars/all/domains.yml @@ -19,7 +19,6 @@ subdomains: syncthing: "syncthing.{{ primary_domain }}" loclog: "loclog.{{ primary_domain }}" # Dawarich social: "social.{{ primary_domain }}" # GoToSocial - home: "home.{{ primary_domain }}" # Glance watcher: "watcher.{{ primary_domain }}" # Changedetection appriseapi: "appriseapi.{{ primary_domain }}" dockge: "dockge.{{ primary_domain }}" diff --git a/group_vars/docker/services.yml b/group_vars/docker/services.yml index 09f36f7..ca56111 100644 --- a/group_vars/docker/services.yml +++ b/group_vars/docker/services.yml @@ -7,7 +7,7 @@ service_categories: media: ["audiobookshelf", "calibre", "kavita", "dir2opds", "hoarder", "kosync", "manyfold"] productivity: ["paperlessngx", "baikal", "syncthing", "heyform", "dawarich", "obsidian-livesync", "gokapi"] communication: ["gotosocial", "listmonk"] - monitoring: ["glance", "changedetection", "appriseapi", "gotify", "cronmaster"] + monitoring: ["changedetection", "appriseapi", "gotify", "cronmaster"] # Common service configuration services: diff --git a/roles/cron/README.md b/roles/cron/README.md index 898970a..1241030 100644 --- a/roles/cron/README.md +++ b/roles/cron/README.md @@ -12,7 +12,6 @@ Manages scheduled tasks and automated maintenance jobs for the infrastructure. 1. Creates a temporary directory `/tmp/warhammer_feed` 2. Runs a custom Docker container (`git.thesatelliteoflove.com/phil/rss-warhammer`) to generate RSS feed 3. Copies the generated `warhammer_rss_feed.xml` to `/opt/stacks/caddy/site/tsol/feeds/` - 4. Restarts the Glance dashboard stack to reflect the updated feed ## Files Managed - `/usr/local/bin/update_warhammer_feed.sh` - RSS feed update script @@ -23,7 +22,6 @@ Manages scheduled tasks and automated maintenance jobs for the infrastructure. - Depends on the following Docker stacks being deployed: - Custom RSS generator container at `git.thesatelliteoflove.com/phil/rss-warhammer` - Caddy web server stack at `/opt/stacks/caddy/` - - Glance dashboard stack at `/opt/stacks/glance/` ## Usage This role is automatically applied as part of the main site.yml playbook with the `cron` tag. diff --git a/roles/cron/files/update_warhammer_feed.sh b/roles/cron/files/update_warhammer_feed.sh index c0e93ca..592aaf8 100644 --- a/roles/cron/files/update_warhammer_feed.sh +++ b/roles/cron/files/update_warhammer_feed.sh @@ -10,6 +10,3 @@ docker run --rm -v "$TMP_DIR":/app/output git.thesatelliteoflove.com/phil/rss-wa # Copy the generated file to the desired location cp "$TMP_DIR/warhammer_rss_feed.xml" /opt/stacks/caddy/site/tsol/feeds - -# Restart the Docker stack -docker compose -f /opt/stacks/glance/compose.yml restart diff --git a/roles/docker/README.md b/roles/docker/README.md index 9969b42..01eff6f 100644 --- a/roles/docker/README.md +++ b/roles/docker/README.md @@ -54,7 +54,6 @@ Deploys and manages a comprehensive self-hosted infrastructure with 24 container - **Postiz** - Social media management ### Monitoring (`monitoring/`) -- **Glance** - Customizable dashboard with monitoring - **Change Detection** - Website monitoring - **Apprise API** - Unified notifications - **Gotify** - Self-hosted push notification service @@ -190,12 +189,6 @@ Services expect to be accessible via subdomains of configured domains: ## Monitoring & Management -### Glance Dashboard Integration -All services include Glance labels for dashboard monitoring: -- Service health status -- Container resource usage -- Parent-child relationships for multi-container services - ### Operational Features - Automatic container restart policies - Health checks for database services diff --git a/roles/docker/handlers/main.yml b/roles/docker/handlers/main.yml index f0ebdd0..2e1360e 100644 --- a/roles/docker/handlers/main.yml +++ b/roles/docker/handlers/main.yml @@ -1,11 +1,4 @@ # roles/docker/handlers/main.yml -- name: restart glance - community.docker.docker_compose_v2: - project_src: /opt/stacks/glance - files: - - compose.yml - state: restarted - - name: restart caddy community.docker.docker_compose_v2: project_src: /opt/stacks/caddy diff --git a/roles/docker/tasks/monitoring/glance.yml b/roles/docker/tasks/monitoring/glance.yml deleted file mode 100644 index 89d1539..0000000 --- a/roles/docker/tasks/monitoring/glance.yml +++ /dev/null @@ -1,29 +0,0 @@ -- name: make glance directories - ansible.builtin.file: - path: "{{ item }}" - state: directory - loop: - - /opt/stacks/glance - - /opt/stacks/glance/config - -- name: Template out the compose file - ansible.builtin.template: - src: glance-compose.yml.j2 - dest: /opt/stacks/glance/compose.yml - owner: root - mode: '0644' - -- name: Template out the config file - ansible.builtin.template: - src: glance.yml.j2 - dest: /opt/stacks/glance/config/glance.yml - owner: root - mode: '0640' - group: docker - notify: restart glance - -- name: deploy glances stack - community.docker.docker_compose_v2: - project_src: /opt/stacks/glance - files: - - compose.yml \ No newline at end of file diff --git a/roles/docker/tasks/monitoring/main.yml b/roles/docker/tasks/monitoring/main.yml index 63a794a..2d68011 100644 --- a/roles/docker/tasks/monitoring/main.yml +++ b/roles/docker/tasks/monitoring/main.yml @@ -1,10 +1,6 @@ --- # Monitoring services - System monitoring, alerts, and dashboards -- name: Install glance - import_tasks: glance.yml - tags: glance - - name: Install changedetection import_tasks: changedetection.yml tags: changedetection diff --git a/roles/docker/templates/Caddyfile.j2 b/roles/docker/templates/Caddyfile.j2 index 9af1c27..8a2d220 100644 --- a/roles/docker/templates/Caddyfile.j2 +++ b/roles/docker/templates/Caddyfile.j2 @@ -62,10 +62,6 @@ models.thesatelliteoflove.com { } -home.thesatelliteoflove.com { - reverse_proxy authentik-server-1:9000 -} - gotify.thesatelliteoflove.com { reverse_proxy gotify:80 } diff --git a/roles/docker/templates/appriseapi-compose.yml.j2 b/roles/docker/templates/appriseapi-compose.yml.j2 index ffee161..111b48a 100644 --- a/roles/docker/templates/appriseapi-compose.yml.j2 +++ b/roles/docker/templates/appriseapi-compose.yml.j2 @@ -15,11 +15,6 @@ services: extra_hosts: - "{{ subdomains.gotify }}:{{ docker.hairpin_ip }}" labels: - glance.name: Apprise - glance.icon: si:imessage - glance.url: https://{{ subdomains.appriseapi }}/ - glance.description: Apprise api server - glance.id: apprise mag37.dockcheck.update: true volumes: config: diff --git a/roles/docker/templates/audiobookshelf-compose.yml.j2 b/roles/docker/templates/audiobookshelf-compose.yml.j2 index ce1f5f0..b8ab6b7 100644 --- a/roles/docker/templates/audiobookshelf-compose.yml.j2 +++ b/roles/docker/templates/audiobookshelf-compose.yml.j2 @@ -13,10 +13,6 @@ services: extra_hosts: - '{{ subdomains.auth }}:{{ docker.hairpin_ip }}' labels: - glance.name: Audiobookshelf - glance.icon: si:audiobookshelf - glance.url: https://{{ subdomains.audio }}/ - glance.description: Audio book server mag37.dockcheck.update: true volumes: audiobooks: diff --git a/roles/docker/templates/authentik-compose.yml.j2 b/roles/docker/templates/authentik-compose.yml.j2 index 5cfb621..c4abb85 100644 --- a/roles/docker/templates/authentik-compose.yml.j2 +++ b/roles/docker/templates/authentik-compose.yml.j2 @@ -18,9 +18,6 @@ services: POSTGRES_DB: ${PG_DB:-authentik} env_file: - .env - labels: - glance.parent: authentik - glance.name: DB trout: image: docker.io/library/redis:alpine command: --save 60 1 --loglevel warning @@ -33,9 +30,6 @@ services: timeout: 3s volumes: - trout:/data - labels: - glance.parent: authentik - glance.name: Redis server: image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2026.2.2} restart: unless-stopped @@ -54,12 +48,6 @@ services: depends_on: - postgresql - trout - labels: - glance.name: Authentik - glance.icon: si:authentik - glance.url: https://{{ subdomains.auth }}/ - glance.description: Authentication server - glance.id: authentik worker: image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2026.2.2} restart: unless-stopped @@ -87,9 +75,6 @@ services: depends_on: - postgresql - trout - labels: - glance.parent: authentik - glance.name: Worker volumes: database: diff --git a/roles/docker/templates/baikal-compose.yml.j2 b/roles/docker/templates/baikal-compose.yml.j2 index f40961c..16517a3 100644 --- a/roles/docker/templates/baikal-compose.yml.j2 +++ b/roles/docker/templates/baikal-compose.yml.j2 @@ -6,10 +6,6 @@ services: - config:/var/www/baikal/config - data:/var/www/baikal/Specific labels: - glance.name: Baikal - glance.icon: si:protoncalendar - glance.url: https://{{ subdomains.cal }}/ - glance.description: CalDav server mag37.dockcheck.update: true volumes: config: diff --git a/roles/docker/templates/bytestash-compose.yml.j2 b/roles/docker/templates/bytestash-compose.yml.j2 index 100df54..fca9d06 100644 --- a/roles/docker/templates/bytestash-compose.yml.j2 +++ b/roles/docker/templates/bytestash-compose.yml.j2 @@ -21,11 +21,6 @@ services: extra_hosts: - "{{ subdomains.pocketid }}:{{ docker.hairpin_ip }}" labels: - glance.name: ByteStash - glance.icon: si:code - glance.url: https://{{ subdomains.bytestash }}/ - glance.description: Code snippet manager - glance.id: bytestash mag37.dockcheck.update: true volumes: bytestash_data: diff --git a/roles/docker/templates/caddy-compose.yml.j2 b/roles/docker/templates/caddy-compose.yml.j2 index 036c946..f9a7673 100644 --- a/roles/docker/templates/caddy-compose.yml.j2 +++ b/roles/docker/templates/caddy-compose.yml.j2 @@ -12,10 +12,6 @@ services: - caddy_data:/data - caddy_config:/config labels: - glance.name: Caddy - glance.icon: si:caddy - glance.url: https://{{ primary_domain }}/ - glance.description: Reverse proxy mag37.dockcheck.update: true networks: default: diff --git a/roles/docker/templates/calibre-compose.yml.j2 b/roles/docker/templates/calibre-compose.yml.j2 index 72c6052..f972aa7 100644 --- a/roles/docker/templates/calibre-compose.yml.j2 +++ b/roles/docker/templates/calibre-compose.yml.j2 @@ -14,10 +14,6 @@ services: - books:/books restart: unless-stopped labels: - glance.name: Calibre - glance.icon: si:calibreweb - glance.url: https://{{ subdomains.books }}/ - glance.description: Book server mag37.dockcheck.update: true volumes: config: diff --git a/roles/docker/templates/changedetection-compose.yml.j2 b/roles/docker/templates/changedetection-compose.yml.j2 index bc6d6c2..7ec4308 100644 --- a/roles/docker/templates/changedetection-compose.yml.j2 +++ b/roles/docker/templates/changedetection-compose.yml.j2 @@ -5,11 +5,6 @@ services: container_name: changedetection hostname: changedetection labels: - glance.name: Changedetection - glance.icon: si:watchtower - glance.url: https://{{ subdomains.watcher }}/ - glance.description: Changedetection - glance.id: changedetection mag37.dockcheck.update: true volumes: - changedetection-data:/datastore @@ -95,8 +90,6 @@ services: sockpuppetbrowser: hostname: sockpuppetbrowser labels: - glance.parent: changedetection - glance.name: Browser mag37.dockcheck.update: true image: dgtlmoon/sockpuppetbrowser:latest cap_add: diff --git a/roles/docker/templates/cronmaster-compose.yml.j2 b/roles/docker/templates/cronmaster-compose.yml.j2 index 25e4ebc..6644a9e 100644 --- a/roles/docker/templates/cronmaster-compose.yml.j2 +++ b/roles/docker/templates/cronmaster-compose.yml.j2 @@ -19,12 +19,6 @@ services: - /opt/stacks/cronmaster/data:/app/data - /opt/stacks/cronmaster/snippets:/app/snippets labels: - glance.url: "http://{{ network.docker_host_ip }}:40123/" - glance.title: CronMaster - glance.description: Cron job management interface - glance.group: Infrastructure - glance.parent: infrastructure - glance.name: CronMaster mag37.dockcheck.update: true networks: default: diff --git a/roles/docker/templates/dawarich-compose.yml.j2 b/roles/docker/templates/dawarich-compose.yml.j2 index d380ffe..f2463a0 100644 --- a/roles/docker/templates/dawarich-compose.yml.j2 +++ b/roles/docker/templates/dawarich-compose.yml.j2 @@ -2,9 +2,6 @@ services: dawarich_redis: image: redis:7.4-alpine container_name: dawarich_redis - labels: - glance.parent: dawarich - glance.name: Redis volumes: - dawarich_redis_data:/data restart: always @@ -17,9 +14,6 @@ services: dawarich_db: image: postgis/postgis:17-3.5-alpine shm_size: 1G - labels: - glance.parent: dawarich - glance.name: DB container_name: dawarich_db volumes: - dawarich_db_data:/var/lib/postgresql/data @@ -38,12 +32,6 @@ services: dawarich_app: image: freikin/dawarich:latest container_name: dawarich_app - labels: - glance.name: Dawarich - glance.icon: si:openstreetmap - glance.url: https://{{ subdomains.loclog }}/ - glance.description: Dawarich - glance.id: dawarich volumes: - dawarich_public:/var/app/public - dawarich_watched:/var/app/tmp/imports/watched @@ -100,9 +88,6 @@ services: dawarich_sidekiq: image: freikin/dawarich:latest container_name: dawarich_sidekiq - labels: - glance.parent: dawarich - glance.name: Sidekiq volumes: - dawarich_public:/var/app/public - dawarich_watched:/var/app/tmp/imports/watched diff --git a/roles/docker/templates/dir2opds-compose.yml.j2 b/roles/docker/templates/dir2opds-compose.yml.j2 index 6a71cf1..dd9e4eb 100644 --- a/roles/docker/templates/dir2opds-compose.yml.j2 +++ b/roles/docker/templates/dir2opds-compose.yml.j2 @@ -16,10 +16,6 @@ services: - -url=https://{{ subdomains.dir2opds }} restart: unless-stopped labels: - glance.name: dir2opds - glance.icon: si:book - glance.url: https://{{ subdomains.dir2opds }}/ - glance.description: OPDS book catalog mag37.dockcheck.update: true networks: default: diff --git a/roles/docker/templates/dockge-compose.yml.j2 b/roles/docker/templates/dockge-compose.yml.j2 index 8c2a079..97a428d 100644 --- a/roles/docker/templates/dockge-compose.yml.j2 +++ b/roles/docker/templates/dockge-compose.yml.j2 @@ -2,11 +2,6 @@ services: dockge: image: louislam/dockge:1 restart: unless-stopped - labels: - glance.name: Dockge - glance.icon: si:docker - glance.url: http://{{ network.tailscale_hostname }}:5001 - glance.description: Docker management ports: # Host Port : Container Port - 5001:5001 diff --git a/roles/docker/templates/gitea-compose.yml.j2 b/roles/docker/templates/gitea-compose.yml.j2 index 9e90f72..56e9e9e 100644 --- a/roles/docker/templates/gitea-compose.yml.j2 +++ b/roles/docker/templates/gitea-compose.yml.j2 @@ -15,11 +15,6 @@ services: - GITEA__mailer__PASSWD={{ vault_smtp.password }} restart: unless-stopped labels: - glance.name: Gitea - glance.icon: si:gitea - glance.url: https://{{ subdomains.git }}/ - glance.description: Code repo - glance.id: gitea mag37.dockcheck.update: true volumes: - gitea:/data @@ -50,8 +45,6 @@ services: - '{{ subdomains.auth }}:{{ docker.hairpin_ip }}' - '{{ subdomains.git }}:{{ docker.hairpin_ip }}' labels: - glance.parent: gitea - glance.name: Worker mag37.dockcheck.update: true volumes: - ./runner-config.yaml:/config.yaml diff --git a/roles/docker/templates/glance-compose.yml.j2 b/roles/docker/templates/glance-compose.yml.j2 deleted file mode 100644 index f0ac8c2..0000000 --- a/roles/docker/templates/glance-compose.yml.j2 +++ /dev/null @@ -1,23 +0,0 @@ -services: - glance: - image: glanceapp/glance:latest - volumes: - - ./config:/app/config - - /etc/timezone:/etc/timezone:ro - - /etc/localtime:/etc/localtime:ro - - /var/run/docker.sock:/var/run/docker.sock - restart: unless-stopped - extra_hosts: - - '{{ primary_domain }}:{{ docker.hairpin_ip }}' - - '{{ subdomains.watcher }}:{{ docker.hairpin_ip }}' - labels: - glance.name: Glance - glance.icon: si:homepage - glance.url: https://{{ subdomains.home }}/ - glance.description: Homepage app - glance.id: glance - mag37.dockcheck.update: true -networks: - default: - external: true - name: {{ docker.network_name }} diff --git a/roles/docker/templates/glance.yml.j2 b/roles/docker/templates/glance.yml.j2 deleted file mode 100644 index b66e7c2..0000000 --- a/roles/docker/templates/glance.yml.j2 +++ /dev/null @@ -1,149 +0,0 @@ -pages: - - name: Home - head-widgets: - - type: markets - hide-header: true - markets: - - symbol: SPY - name: S&P 500 - - symbol: VTSAX - name: Vanguard Total Stock Market - - symbol: BAI - name: Blackrock AI - - symbol: NLR - name: VanEck Uranium+Nuclear Energy - - symbol: BITO - name: Bitcoin ETF - - columns: - - - size: full - widgets: - - type: search - search-engine: kagi - new-tab: true - - - size: small - widgets: - - type: weather - location: Nederland, Colorado, United States - units: imperial - - - type: custom-api - title: Air Quality - cache: 10m - url: https://api.waqi.info/feed/geo:39.9676367;-105.4037992/?token={{ vault_glance.air_quality_key }} - template: | - {% raw %}{{ $aqi := printf "%03s" (.JSON.String "data.aqi") }} - {{ $aqiraw := .JSON.String "data.aqi" }} - {{ $updated := .JSON.String "data.time.iso" }} - {{ $humidity := .JSON.String "data.iaqi.h.v" }} - {{ $ozone := .JSON.String "data.iaqi.o3.v" }} - {{ $pm25 := .JSON.String "data.iaqi.pm25.v" }} - {{ $pressure := .JSON.String "data.iaqi.p.v" }} - -
-
- {{ if le $aqi "050" }} -
Good air quality
- {{ else if le $aqi "100" }} -
Moderate air quality
- {{ else }} -
Bad air quality
- {{ end }} -
-
- -
AQI: {{ $aqiraw }}
-
- -
-
- -
-
{{ $humidity }}%
-
HUMIDITY
-
- -
-
{{ $ozone }} μg/m³
-
OZONE
-
- -
-
{{ $pm25 }} μg/m³
-
PM2.5
-
- -
-
{{ $pressure }} hPa
-
PRESSURE
-
- -
- -
Last Updated at {{ slice $updated 11 16 }}
-
{% endraw %} - - - name: Mini Painting - columns: - - size: small - widgets: - - type: twitch-channels - channels: - - warhammer - - marcofrisoninjm - - miniac - - next_level_painting - - monument_hobbies - - visit_the_chronicler - - size: full - widgets: - - type: rss - limit: 10 - collapse-after: 3 - cache: 3h - feeds: - - url: https://thesatelliteoflove.com/feeds/warhammer_rss_feed.xml - title: Warhammer Community - - url: https://yenneferofexeter.wordpress.com/feed/ - title: Yennefer of Exeter - - name: Self Hosting - columns: - - size: small - widgets: - - type: releases - show-source-icon: true - repositories: - - advplyr/audiobookshelf - - go-gitea/gitea - - louislam/dockge - - glanceapp/glance - - hoarder-app/hoarder - - goauthentik/authentik - - superseriousbusiness/gotosocial - - caddyserver/caddy - - sabre-io/Baikal - - janeczku/calibre-web - - heyform/heyform - - paperless-ngx/paperless-ngx - - linuxserver/docker-calibre-web - - dgtlmoon/changedetection.io - - Freika/dawarich - - manyfold3d/manyfold - - caronc/apprise-api - - syncthing/syncthing - - - size: full - widgets: - - type: rss - limit: 10 - collapse-after: 3 - cache: 3h - feeds: - - url: https://selfh.st/rss/ - - url: https://www.jeffgeerling.com/blog.xml - - url: https://samwho.dev/rss.xml - - url: https://awesomekling.github.io/feed.xml - - url: https://ishadeed.com/feed.xml - title: Ahmad Shadeed \ No newline at end of file diff --git a/roles/docker/templates/gokapi-compose.yml.j2 b/roles/docker/templates/gokapi-compose.yml.j2 index b19a764..39c4cc7 100644 --- a/roles/docker/templates/gokapi-compose.yml.j2 +++ b/roles/docker/templates/gokapi-compose.yml.j2 @@ -9,11 +9,6 @@ services: - gokapi_data:/app/data - gokapi_config:/app/config labels: - glance.name: Gokapi - glance.icon: si:files - glance.url: https://{{ subdomains.gokapi }}/ - glance.description: Lightweight file sharing - glance.id: gokapi mag37.dockcheck.update: true volumes: gokapi_data: diff --git a/roles/docker/templates/gotify-compose.yml.j2 b/roles/docker/templates/gotify-compose.yml.j2 index 3064062..3b32d82 100644 --- a/roles/docker/templates/gotify-compose.yml.j2 +++ b/roles/docker/templates/gotify-compose.yml.j2 @@ -9,10 +9,6 @@ services: - GOTIFY_DEFAULTUSER_PASS={{ vault_gotify.admin_password }} - TZ=America/Denver labels: - glance.name: Gotify - glance.icon: si:gotify - glance.url: "https://{{ subdomains.gotify }}/" - glance.description: Push notification server mag37.dockcheck.update: true extra_hosts: - "{{ subdomains.auth }}:{{ docker.hairpin_ip }}" @@ -29,10 +25,6 @@ services: depends_on: - gotify labels: - glance.name: iGotify Assistant - glance.icon: si:apple - glance.url: "https://{{ subdomains.gotify_assistant }}/" - glance.description: iOS notification assistant mag37.dockcheck.update: true extra_hosts: - "{{ subdomains.auth }}:{{ docker.hairpin_ip }}" diff --git a/roles/docker/templates/gotosocial-compose.yml.j2 b/roles/docker/templates/gotosocial-compose.yml.j2 index 730274d..7e6268c 100644 --- a/roles/docker/templates/gotosocial-compose.yml.j2 +++ b/roles/docker/templates/gotosocial-compose.yml.j2 @@ -32,18 +32,11 @@ services: restart: "always" labels: docker-volume-backup.stop-during-backup: true - glance.name: GoToSocial - glance.icon: si:mastodon - glance.url: https://{{ subdomains.social }}/ - glance.description: Fediverse server - glance.id: gotosocial backup: image: offen/docker-volume-backup:v2 restart: always labels: - glance.parent: gotosocial - glance.name: Backup mag37.dockcheck.update: true environment: BACKUP_FILENAME: gts-backup-%Y-%m-%dT%H-%M-%S.tar.gz diff --git a/roles/docker/templates/heyform-compose.yml.j2 b/roles/docker/templates/heyform-compose.yml.j2 index b5d706e..eab5265 100644 --- a/roles/docker/templates/heyform-compose.yml.j2 +++ b/roles/docker/templates/heyform-compose.yml.j2 @@ -8,12 +8,6 @@ services: depends_on: - mongo - keydb - labels: - glance.name: Heyform - glance.icon: si:googleforms - glance.url: https://{{ subdomains.heyform }}/ - glance.description: Forms server - glance.id: heyform environment: - APP_HOMEPAGE_URL=http://{{ subdomains.heyform }} - SESSION_KEY={{ vault_heyform.session_key }} @@ -31,9 +25,6 @@ services: mongo: image: percona/percona-server-mongodb:4.4 restart: always - labels: - glance.parent: heyform - glance.name: MongoDB volumes: # Persist MongoDB data - database:/data/db @@ -42,9 +33,6 @@ services: image: eqalpha/keydb:latest restart: always command: keydb-server --appendonly yes - labels: - glance.parent: heyform - glance.name: KeyDB volumes: # Persist KeyDB data - keydb:/data diff --git a/roles/docker/templates/hoarder-compose.yml.j2 b/roles/docker/templates/hoarder-compose.yml.j2 index 6d1d10e..236f2a3 100644 --- a/roles/docker/templates/hoarder-compose.yml.j2 +++ b/roles/docker/templates/hoarder-compose.yml.j2 @@ -15,18 +15,11 @@ services: DATA_DIR: /data BROWSER_WEB_URL: http://chrome:9222 labels: - glance.name: Karakeep - glance.icon: si:wikibooks - glance.url: https://{{ subdomains.bookmarks }}/ - glance.description: Bookmark manager - glance.id: karakeep mag37.dockcheck.update: true chrome: image: gcr.io/zenika-hub/alpine-chrome:123 restart: unless-stopped labels: - glance.name: Chrome - glance.parent: karakeep mag37.dockcheck.update: true command: - --no-sandbox @@ -39,8 +32,6 @@ services: image: getmeili/meilisearch:v1.13.3 restart: unless-stopped labels: - glance.name: Meilisearch - glance.parent: karakeep mag37.dockcheck.update: true env_file: - .env diff --git a/roles/docker/templates/kavita-compose.yml.j2 b/roles/docker/templates/kavita-compose.yml.j2 index 3bee442..198512f 100644 --- a/roles/docker/templates/kavita-compose.yml.j2 +++ b/roles/docker/templates/kavita-compose.yml.j2 @@ -14,10 +14,6 @@ services: - "{{ subdomains.pocketid }}:{{ docker.hairpin_ip }}" restart: unless-stopped labels: - glance.name: Kavita - glance.icon: si:book - glance.url: https://{{ subdomains.kavita }}/ - glance.description: Book server mag37.dockcheck.update: true networks: default: diff --git a/roles/docker/templates/kosync-compose.yml.j2 b/roles/docker/templates/kosync-compose.yml.j2 index 82e7727..4d3de2d 100644 --- a/roles/docker/templates/kosync-compose.yml.j2 +++ b/roles/docker/templates/kosync-compose.yml.j2 @@ -11,10 +11,6 @@ services: - ./data/redis:/var/lib/redis restart: unless-stopped labels: - glance.name: KOReader Sync - glance.icon: si:book - glance.url: https://{{ subdomains.kosync }}/ - glance.description: KOReader reading progress sync mag37.dockcheck.update: true networks: default: diff --git a/roles/docker/templates/listmonk-compose.yml.j2 b/roles/docker/templates/listmonk-compose.yml.j2 index a7a601c..8a0e99e 100644 --- a/roles/docker/templates/listmonk-compose.yml.j2 +++ b/roles/docker/templates/listmonk-compose.yml.j2 @@ -23,11 +23,6 @@ services: LISTMONK_ADMIN_PASSWORD: {{ vault_listmonk.admin_password }} volumes: - uploads:/listmonk/uploads - labels: - glance.name: Listmonk - glance.url: https://{{ subdomains.listmonk }}/ - glance.description: Mailing list manager - glance.id: listmonk db: image: postgres:17-alpine @@ -44,9 +39,6 @@ services: retries: 6 volumes: - listmonk-data:/var/lib/postgresql/data - labels: - glance.parent: listmonk - glance.name: DB volumes: uploads: diff --git a/roles/docker/templates/manyfold-compose.yml.j2 b/roles/docker/templates/manyfold-compose.yml.j2 index 9ffef8f..84a8ce9 100644 --- a/roles/docker/templates/manyfold-compose.yml.j2 +++ b/roles/docker/templates/manyfold-compose.yml.j2 @@ -26,10 +26,6 @@ services: extra_hosts: - "{{ subdomains.pocketid }}:{{ docker.hairpin_ip }}" labels: - glance.name: Manyfold - glance.icon: si:open3d - glance.url: https://{{ subdomains.models }}/ - glance.description: STL Storage mag37.dockcheck.update: true restart: unless-stopped # Optional, but recommended for better security diff --git a/roles/docker/templates/obsidian-livesync-compose.yml.j2 b/roles/docker/templates/obsidian-livesync-compose.yml.j2 index 32c4bed..a7006f2 100644 --- a/roles/docker/templates/obsidian-livesync-compose.yml.j2 +++ b/roles/docker/templates/obsidian-livesync-compose.yml.j2 @@ -4,11 +4,6 @@ services: container_name: obsidian-livesync restart: unless-stopped labels: - glance.name: Obsidian LiveSync - glance.icon: si:obsidian - glance.url: http://{{ network.docker_host_ip }}:5984 - glance.description: Obsidian note synchronization - glance.id: obsidian-livesync mag37.dockcheck.update: true environment: - SERVER_DOMAIN={{ network.docker_host_ip }} diff --git a/roles/docker/templates/paperlessngx-compose.yml.j2 b/roles/docker/templates/paperlessngx-compose.yml.j2 index 7f6001c..81ccfed 100644 --- a/roles/docker/templates/paperlessngx-compose.yml.j2 +++ b/roles/docker/templates/paperlessngx-compose.yml.j2 @@ -2,9 +2,6 @@ services: broker: image: docker.io/library/redis:7 restart: unless-stopped - labels: - glance.parent: paperlessngx - glance.name: Redis volumes: - redisdata:/data @@ -14,11 +11,6 @@ services: labels: # Stop during backup so the SQLite database in the data volume is consistent docker-volume-backup.stop-during-backup: true - glance.name: Paperless NGX - glance.icon: si:paperlessngx - glance.url: https://{{ subdomains.paper }}/ - glance.description: Document server - glance.id: paperlessngx depends_on: - broker - gotenberg @@ -40,9 +32,6 @@ services: gotenberg: image: docker.io/gotenberg/gotenberg:8.7 - labels: - glance.parent: paperlessngx - glance.name: Gotenburg restart: unless-stopped # The gotenberg chromium route is used to convert .eml files. We do not @@ -54,17 +43,12 @@ services: tika: image: docker.io/apache/tika:latest - labels: - glance.parent: paperlessngx - glance.name: Tika restart: unless-stopped backup: image: offen/docker-volume-backup:v2 restart: always labels: - glance.parent: paperlessngx - glance.name: Backup mag37.dockcheck.update: true environment: BACKUP_FILENAME: pngx-backup-%Y-%m-%dT%H-%M-%S.tar.gz diff --git a/roles/docker/templates/pocketid-compose.yml.j2 b/roles/docker/templates/pocketid-compose.yml.j2 index 7441083..9369ec6 100644 --- a/roles/docker/templates/pocketid-compose.yml.j2 +++ b/roles/docker/templates/pocketid-compose.yml.j2 @@ -13,11 +13,6 @@ services: retries: 2 start_period: 10s labels: - glance.name: Pocket ID - glance.icon: si:passkey - glance.url: https://{{ subdomains.pocketid }}/ - glance.description: Passkey OIDC provider - glance.id: pocketid mag37.dockcheck.update: true networks: diff --git a/roles/docker/templates/syncthing-compose.yml.j2 b/roles/docker/templates/syncthing-compose.yml.j2 index 50d4454..6f282e2 100644 --- a/roles/docker/templates/syncthing-compose.yml.j2 +++ b/roles/docker/templates/syncthing-compose.yml.j2 @@ -4,11 +4,6 @@ services: container_name: syncthing hostname: my-syncthing labels: - glance.name: Syncthing - glance.icon: si:syncthing - glance.url: https://{{ network.tailscale_hostname }}:8384 - glance.description: Syncthing core - glance.id: Syncthing mag37.dockcheck.update: true environment: - PUID=1000 diff --git a/todo.md b/todo.md index a3cf187..d270abf 100644 --- a/todo.md +++ b/todo.md @@ -13,7 +13,7 @@ ├── media/ (audiobookshelf, calibre, ghost, pinchflat, pinry, hoarder, manyfold) ├── productivity/ (paperless, baikal, syncthing, mmdl, heyform, dawarich, palmr, obsidian-livesync) ├── communication/ (gotosocial, postiz) - └── monitoring/ (glance, changedetection, appriseapi, gotify) + └── monitoring/ (changedetection, appriseapi, gotify) ``` - **COMPLETED**: All services organized into logical categories with category-level tags