Sanitized mirror from private repository - 2026-04-19 08:15:48 UTC
This commit is contained in:
28
hosts/edge/rpi5-vish/diun.yaml
Normal file
28
hosts/edge/rpi5-vish/diun.yaml
Normal file
@@ -0,0 +1,28 @@
|
||||
# Diun — Docker Image Update Notifier
|
||||
#
|
||||
# Watches all running containers on this host and sends ntfy
|
||||
# notifications when upstream images update their digest.
|
||||
# Schedule: Mondays 09:00 (weekly cadence).
|
||||
#
|
||||
# ntfy topic: https://ntfy.vish.gg/diun
|
||||
|
||||
services:
|
||||
diun:
|
||||
image: crazymax/diun:latest
|
||||
container_name: diun
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- diun-data:/data
|
||||
environment:
|
||||
LOG_LEVEL: info
|
||||
DIUN_WATCH_WORKERS: "20"
|
||||
DIUN_WATCH_SCHEDULE: "0 9 * * 1"
|
||||
DIUN_WATCH_JITTER: 30s
|
||||
DIUN_PROVIDERS_DOCKER: "true"
|
||||
DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT: "true"
|
||||
DIUN_NOTIF_NTFY_ENDPOINT: "https://ntfy.vish.gg"
|
||||
DIUN_NOTIF_NTFY_TOPIC: "diun"
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
diun-data:
|
||||
15
hosts/edge/rpi5-vish/dozzle-agent.yaml
Normal file
15
hosts/edge/rpi5-vish/dozzle-agent.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
services:
|
||||
dozzle-agent:
|
||||
image: amir20/dozzle:latest
|
||||
container_name: dozzle-agent
|
||||
command: agent
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
ports:
|
||||
- "7007:7007"
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "/dozzle", "healthcheck"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
15
hosts/edge/rpi5-vish/glances.yaml
Normal file
15
hosts/edge/rpi5-vish/glances.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
# Glances - Real-time system monitoring
|
||||
# Web UI: http://<host-ip>:61208
|
||||
# Provides: CPU, memory, disk, network, Docker container stats
|
||||
|
||||
services:
|
||||
glances:
|
||||
image: nicolargo/glances:latest
|
||||
container_name: glances
|
||||
pid: host
|
||||
network_mode: host
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
environment:
|
||||
- GLANCES_OPT=--webserver
|
||||
restart: unless-stopped
|
||||
67
hosts/edge/rpi5-vish/immich/docker-compose.yml
Normal file
67
hosts/edge/rpi5-vish/immich/docker-compose.yml
Normal file
@@ -0,0 +1,67 @@
|
||||
# Immich - Photo/video backup solution
|
||||
# URL: https://photos.vishconcord.synology.me
|
||||
# Port: 2283
|
||||
# Google Photos alternative with ML-powered features
|
||||
version: "3.8"
|
||||
|
||||
name: immich
|
||||
|
||||
services:
|
||||
immich-server:
|
||||
container_name: immich_server
|
||||
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
|
||||
volumes:
|
||||
- ${UPLOAD_LOCATION}:/data
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
env_file:
|
||||
- .env
|
||||
ports:
|
||||
- "2283:2283"
|
||||
depends_on:
|
||||
- redis
|
||||
- database
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:2283/api/server-info"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
# You can enable this later if you really want object detection or face recognition.
|
||||
# It’ll work on the Pi 5, but very, very slowly.
|
||||
# immich-machine-learning:
|
||||
# container_name: immich_machine_learning
|
||||
# image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
|
||||
# volumes:
|
||||
# - model-cache:/cache
|
||||
# env_file:
|
||||
# - .env
|
||||
# restart: unless-stopped
|
||||
# healthcheck:
|
||||
# disable: false
|
||||
|
||||
redis:
|
||||
container_name: immich_redis
|
||||
image: docker.io/valkey/valkey:8-bookworm
|
||||
restart: unless-stopped
|
||||
healthcheck:
|
||||
test: ["CMD", "redis-cli", "ping"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
database:
|
||||
container_name: immich_postgres
|
||||
image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0
|
||||
environment:
|
||||
POSTGRES_PASSWORD: "REDACTED_PASSWORD"
|
||||
POSTGRES_USER: ${DB_USERNAME}
|
||||
POSTGRES_DB: ${DB_DATABASE_NAME}
|
||||
POSTGRES_INITDB_ARGS: "--data-checksums"
|
||||
volumes:
|
||||
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
|
||||
shm_size: 128mb
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
model-cache:
|
||||
22
hosts/edge/rpi5-vish/samba.conf
Normal file
22
hosts/edge/rpi5-vish/samba.conf
Normal file
@@ -0,0 +1,22 @@
|
||||
# Samba share on rpi5-vish (192.168.0.66)
|
||||
# Shares the NVMe storagepool for access by other hosts on the LAN
|
||||
#
|
||||
# Mounted by:
|
||||
# - homelab-vm: /mnt/pi5_storagepool (creds: /etc/samba/.pi5_credentials)
|
||||
# - Atlantis: /volume1/pi5_storagepool (creds: /root/.pi5_smb_creds)
|
||||
#
|
||||
# To apply: copy relevant [storagepool] block into /etc/samba/smb.conf on pi-5
|
||||
# Set SMB password: "REDACTED_PASSWORD" -e 'PASSWORD\nPASSWORD' | sudo smbpasswd -a vish -s
|
||||
#
|
||||
# pi-5 also mounts from Atlantis via NFS:
|
||||
# /mnt/atlantis_data → 192.168.0.200:/volume1/data (media/torrents/usenet)
|
||||
|
||||
[storagepool]
|
||||
path = /mnt/storagepool
|
||||
browseable = yes
|
||||
read only = no
|
||||
guest ok = no
|
||||
valid users = vish
|
||||
force user = vish
|
||||
create mask = 0664
|
||||
directory mask = 0775
|
||||
27
hosts/edge/rpi5-vish/scrutiny-collector.yaml
Normal file
27
hosts/edge/rpi5-vish/scrutiny-collector.yaml
Normal file
@@ -0,0 +1,27 @@
|
||||
# Scrutiny Collector — pi-5 (Raspberry Pi 5)
|
||||
#
|
||||
# Ships SMART data to the hub on homelab-vm.
|
||||
# pi-5 has 2 NVMe drives (M.2 HAT):
|
||||
# - nvme0n1: Micron 7450 480GB
|
||||
# - nvme1n1: Samsung 970 EVO Plus 500GB
|
||||
# NVMe not auto-discovered by smartctl --scan; uses explicit config.
|
||||
# collector.yaml lives at: /home/vish/scrutiny/collector.yaml
|
||||
#
|
||||
# Hub: http://100.67.40.126:8090
|
||||
|
||||
services:
|
||||
scrutiny-collector:
|
||||
image: ghcr.io/analogj/scrutiny:master-collector
|
||||
container_name: scrutiny-collector
|
||||
cap_add:
|
||||
- SYS_RAWIO
|
||||
- SYS_ADMIN
|
||||
volumes:
|
||||
- /run/udev:/run/udev:ro
|
||||
- /home/vish/scrutiny/collector.yaml:/opt/scrutiny/config/collector.yaml:ro
|
||||
devices:
|
||||
- /dev/nvme0n1
|
||||
- /dev/nvme1n1
|
||||
environment:
|
||||
COLLECTOR_API_ENDPOINT: "http://100.67.40.126:8090"
|
||||
restart: unless-stopped
|
||||
13
hosts/edge/rpi5-vish/uptime-kuma.yaml
Normal file
13
hosts/edge/rpi5-vish/uptime-kuma.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
# Uptime Kuma - Self-hosted monitoring tool
|
||||
# Web UI: http://<host-ip>:3001
|
||||
# Features: HTTP(s), TCP, Ping, DNS monitoring with notifications
|
||||
|
||||
services:
|
||||
uptime-kuma:
|
||||
image: louislam/uptime-kuma:latest
|
||||
container_name: uptime-kuma
|
||||
network_mode: host
|
||||
volumes:
|
||||
- /home/vish/docker/kuma/data:/app/data
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
restart: unless-stopped
|
||||
Reference in New Issue
Block a user