diff --git a/AGENTS.md b/AGENTS.md index cb3d438..66cabb7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -10,10 +10,10 @@ The infrastructure is split into 5 independent compose files sharing a common `. | Stack | File | Services | |-------|------|----------| | **Infrastructure** | `docker-compose.infra.yml` | Core: portainer, npm, dockerproxy, homepage, wud, ntopng, newt | -| **Media** | `docker-compose.media.yml` | Media: arr stack, jellyfin, qbittorrent, slskd, metube, maloja, scrobbler | +| **Media** | `docker-compose.media.yml` | Media: arr stack, jellyfin, qbittorrent, slskd, metube | | **Documents** | `docker-compose.documents.yml` | Paperless-ngx + AI, onlyoffice, stirling-pdf, open-webui | | **Photo & ROM Library** | `docker-compose.photo-roms.yml` | Immich, syncthing, retrom | -| **Utilities** | `docker-compose.utils.yml` | Gitea, tandoor, speedtest-tracker, rustdesk, redbot, linkwarden, neolink, iperf3, ntfy, mailrise | +| **Utilities** | `docker-compose.utils.yml` | Gitea, tandoor, speedtest-tracker, rustdesk, redbot, linkwarden, neolink, iperf3, ntfy, mailrise, uptime-kuma, glances | ## Core Infrastructure Agents (infra.yml) @@ -51,11 +51,6 @@ The infrastructure is split into 5 independent compose files sharing a common `. ### File Sharing - **Slskd** - Soulseek file sharing client (ports 5030, 5031, 50300) -### Music & Scrobbling -- **Maloja** - Music scrobbling service (port 42010) -- **Multi-Scrobbler** - Cross-platform scrobbling (port 9078) - - Integrates with Jellyfin and Last.fm - ## Document & AI Suite (documents.yml) ### Document Processing @@ -123,6 +118,10 @@ The infrastructure is split into 5 independent compose files sharing a common `. - Converts email alerts into push notifications - Works with any service that supports SMTP notifications +### Monitoring +- **Uptime Kuma** - Uptime monitoring dashboard (port 3091) +- **Glances** - System monitoring web UI (host mode, port 61208) + ### Network Tools - **iperf3-server** - Network performance testing (port 5201) @@ -164,8 +163,7 @@ Networks are defined in `docker-compose.infra.yml` and referenced as `external: ├── qBittorrent/ (Download client) ├── slskd/ (Soulseek client) ├── speedtest-tracker/ (Network monitoring) -├── maloja/ (Music scrobbling) -├── scrobble/ (Multi-scrobbler) +├── uptime-kuma-data/ (Uptime monitoring) ├── syncthing/ (File sync) ├── Homepage/ (Dashboard) ├── retrom/ (ROM library management) diff --git a/docker-compose.media.yml b/docker-compose.media.yml index bb2e70d..1280f0c 100644 --- a/docker-compose.media.yml +++ b/docker-compose.media.yml @@ -226,43 +226,6 @@ services: volumes: - /mnt/nas-storage/data/torrents/metube:/downloads - maloja: - image: krateng/maloja:latest - container_name: maloja - restart: unless-stopped - environment: - - MALOJA_FORCE_PASSWORD=${MALOJA_FORCE_PASSWORD} - networks: - - internal_net - - web_net - ports: - - "42010:42010" - volumes: - - /docker/maloja/config:/etc/maloja - - /docker/maloja/data:/var/lib/maloja - logging: *default-logging - - multi-scrobbler: - image: foxxmd/multi-scrobbler:latest - container_name: multi-scrobbler - restart: unless-stopped - networks: - - internal_net - ports: - - "9078:9078" - environment: - - MALOJA_URL=${MALOJA_URL} - - MALOJA_API_KEY=${MALOJA_API_KEY} - - JELLYFIN_URL=${JELLYFIN_URL} - - JELLYFIN_APIKEY=${JELLYFIN_APIKEY_MS} - - JELLYFIN_USER=${JELLYFIN_USER} - - JELLYFIN_TRANSFORMS=musicbrainz - - MB_CONTACT=${MB_CONTACT} - - MB_PRESETS=default,sensible,native - volumes: - - /docker/scrobble/config:/config - logging: *default-logging - networks: media_net: name: media_net diff --git a/docker-compose.utils.yml b/docker-compose.utils.yml index a5d83cb..87227d3 100644 --- a/docker-compose.utils.yml +++ b/docker-compose.utils.yml @@ -57,6 +57,16 @@ services: condition: service_healthy logging: *default-logging + uptimekuma: + image: louislam/uptime-kuma:1 + container_name: uptime-kuma + volumes: + - ./uptime-kuma-data:/app/data + - /var/run/docker.sock:/var/run/docker.sock # Optional: for monitoring Docker containers + ports: + - "3091:3001" + restart: always + gitea-db: image: mysql:8 container_name: gitea-db @@ -262,8 +272,21 @@ services: ports: - "8025:8025" volumes: - - ./ntfy/mailrise.yml:/etc/mailrise/mailrise.yml:ro + - ./ntfy/mailrise.yml:/etc/mailrise.conf:ro logging: *default-logging + + glances: + image: nicolargo/glances:latest-full + container_name: glances + restart: unless-stopped + pid: host + network_mode: host + volumes: + - /var/run/docker.sock:/var/run/docker.sock:ro + - /etc/os-release:/etc/os-release:ro + environment: + - "GLANCES_OPT=-w" + - "TZ=Europe/Paris" # Set your local timezone networks: web_net: diff --git a/ntfy/mailrise.yml b/ntfy/mailrise.yml index 6de43db..3d0d15a 100644 --- a/ntfy/mailrise.yml +++ b/ntfy/mailrise.yml @@ -2,12 +2,13 @@ smtp: hostname: mailrise port: 8025 -ntfy: - default: - url: http://ntfy:8086 - token: tk_yourtokenhere - configs: - alerts: alerts - backups: backups - paperless: paperless + "alerts@mailrise": + urls: + - ntfy://ntfy:8086/alerts?token=tk_5gkovqjxmh6mfs8uxdh5lssrwli6x + "backup@mailrise": + urls: + - ntfy://ntfy:8086/backup?token=tk_5gkovqjxmh6mfs8uxdh5lssrwli6x + "paperless@mailrise": + urls: + - ntfy://ntfy:8086/paperless?token=tk_5gkovqjxmh6mfs8uxdh5lssrwli6x