39 Commits

Author SHA1 Message Date
Renovate Bot
844584d124 Update docker.io/library/postgres Docker tag to v18 2026-01-21 00:01:19 +00:00
Peter Smit
b2cc33a63b Fix element admin 2026-01-20 20:51:43 +01:00
Peter Smit
5243527119 Add element admin 2026-01-20 20:41:33 +01:00
Peter Smit
25b2b7198d Add grafana-matrix-forwarder for alerts in matrix 2026-01-20 15:36:54 +01:00
Peter Smit
5e6184502a Fix alloy and loki, and remove alertmanager (use grafana's) 2026-01-20 13:55:35 +01:00
Peter Smit
eba54706d1 Add loki and alloy for log monitoring 2026-01-20 11:35:39 +01:00
Peter Smit
969b16136a Remove alert rules from prometheus. Make them managed by grafana 2026-01-19 16:30:32 +01:00
019862d1c4 Update jellyfin to 10.11.6 2026-01-19 12:08:53 +00:00
32cb44d8fc Merge pull request 'Update vaultwarden/server Docker tag to v1.35.2' (#251) from renovate/vaultwarden-server-1.x into master
Reviewed-on: https://git.smittenfeld.nl/peter/homelab-docker-config/pulls/251
2026-01-19 09:53:19 +00:00
5d497f0887 Merge pull request 'Update Matrix' (#255) from renovate/matrix into master
Reviewed-on: https://git.smittenfeld.nl/peter/homelab-docker-config/pulls/255
2026-01-19 09:53:07 +00:00
Renovate Bot
511cb80900 Update Matrix 2026-01-17 00:01:23 +00:00
Peter Smit
2038a34008 Add disable login form option 2026-01-15 17:15:55 +01:00
Peter Smit
7e6f9a6dad Add root url for grafana 2026-01-15 17:00:27 +01:00
Peter Smit
58d5a4f033 Chiller 2026-01-14 14:55:56 +01:00
Peter Smit
a6dde041a6 Give a chill pill to cadvisor 2026-01-14 14:54:34 +01:00
Peter Smit
1a73ba35af Merge all grafana configs 2026-01-14 14:37:33 +01:00
Peter Smit
f601ab02da Move prometheus to 9091 2026-01-14 13:52:36 +01:00
Peter Smit
46fe423058 Add monitoring stack 2026-01-14 13:49:08 +01:00
Peter Smit
a8b440c4f2 Drop baikal 2026-01-14 13:49:08 +01:00
Peter Smit
b517e3f0a6 Disable updater for now (doesn't interact well with DMR) 2026-01-14 13:49:08 +01:00
8898ddb3c2 Merge pull request 'Update shlinkio/shlink Docker tag to v5' (#252) from renovate/shlinkio-shlink-5.x into master
Reviewed-on: https://git.smittenfeld.nl/peter/homelab-docker-config/pulls/252
2026-01-14 10:59:56 +00:00
365096ab12 Merge pull request 'Update ghcr.io/paperless-ngx/paperless-ngx Docker tag to v2.20.4' (#234) from renovate/paperless-ngx into master
Reviewed-on: https://git.smittenfeld.nl/peter/homelab-docker-config/pulls/234
2026-01-14 10:59:43 +00:00
c683451235 Merge pull request 'Update Matrix' (#254) from renovate/matrix into master
Reviewed-on: https://git.smittenfeld.nl/peter/homelab-docker-config/pulls/254
2026-01-14 10:59:39 +00:00
Renovate Bot
81578d3180 Update Matrix 2026-01-14 00:01:56 +00:00
Renovate Bot
e5a67ed0ba Update ghcr.io/paperless-ngx/paperless-ngx Docker tag to v2.20.4 2026-01-14 00:01:45 +00:00
e4dfb24d7e Merge pull request 'Update ghcr.io/pocket-id/pocket-id Docker tag to v2.2.0' (#253) from renovate/ghcr.io-pocket-id-pocket-id-2.x into master
Reviewed-on: https://git.smittenfeld.nl/peter/homelab-docker-config/pulls/253
2026-01-12 10:05:41 +00:00
Renovate Bot
2a5d92b8ab Update ghcr.io/pocket-id/pocket-id Docker tag to v2.2.0 2026-01-12 00:01:55 +00:00
Renovate Bot
413dc45652 Update shlinkio/shlink Docker tag to v5 2026-01-10 00:02:33 +00:00
Renovate Bot
122a1c9139 Update vaultwarden/server Docker tag to v1.35.2 2026-01-10 00:02:26 +00:00
299b01a03e Merge pull request 'Update ghcr.io/pocket-id/pocket-id Docker tag to v2.1.0' (#250) from renovate/ghcr.io-pocket-id-pocket-id-2.x into master
Reviewed-on: https://git.smittenfeld.nl/peter/homelab-docker-config/pulls/250
2026-01-05 15:20:47 +00:00
566359efa4 Merge pull request 'Update ghcr.io/neptunehub/audiomuse-ai Docker tag to v0.8.6' (#249) from renovate/ghcr.io-neptunehub-audiomuse-ai-0.x into master
Reviewed-on: https://git.smittenfeld.nl/peter/homelab-docker-config/pulls/249
2026-01-05 15:20:37 +00:00
Renovate Bot
aae7300424 Update ghcr.io/pocket-id/pocket-id Docker tag to v2.1.0 2026-01-05 00:04:41 +00:00
Renovate Bot
d105050830 Update ghcr.io/neptunehub/audiomuse-ai Docker tag to v0.8.6 2026-01-05 00:04:29 +00:00
5acefd094e Merge pull request 'Update ghcr.io/pocket-id/pocket-id Docker tag to v2.0.2' (#248) from renovate/ghcr.io-pocket-id-pocket-id-2.x into master
Reviewed-on: https://git.smittenfeld.nl/peter/homelab-docker-config/pulls/248
2026-01-04 19:56:44 +00:00
Renovate Bot
2fb1a3ff47 Update ghcr.io/pocket-id/pocket-id Docker tag to v2.0.2 2026-01-04 00:01:41 +00:00
9d5a57c81d Add dmr plugin to updater 2026-01-03 07:42:50 +00:00
d61fa09cef Merge pull request 'Update ghcr.io/pocket-id/pocket-id Docker tag to v2' (#247) from renovate/ghcr.io-pocket-id-pocket-id-2.x into master
Reviewed-on: https://git.smittenfeld.nl/peter/homelab-docker-config/pulls/247
2026-01-03 07:40:15 +00:00
34e4eaa029 prepare for pocket id v2 2026-01-03 07:39:17 +00:00
Renovate Bot
debd7834fc Update ghcr.io/pocket-id/pocket-id Docker tag to v2 2026-01-03 00:01:48 +00:00
17 changed files with 182 additions and 37 deletions

View File

@@ -31,7 +31,7 @@ services:
# AudioMuse-AI Flask application service # AudioMuse-AI Flask application service
audiomuse-ai-flask: audiomuse-ai-flask:
image: ghcr.io/neptunehub/audiomuse-ai:0.8.5 # Reflects deployment.yaml image: ghcr.io/neptunehub/audiomuse-ai:0.8.6 # Reflects deployment.yaml
container_name: audiomuse-ai-flask-app container_name: audiomuse-ai-flask-app
ports: ports:
- "8013:8000" - "8013:8000"
@@ -69,7 +69,7 @@ services:
# AudioMuse-AI RQ Worker service # AudioMuse-AI RQ Worker service
audiomuse-ai-worker: audiomuse-ai-worker:
image: ghcr.io/neptunehub/audiomuse-ai:0.8.5 # Reflects deployment.yaml image: ghcr.io/neptunehub/audiomuse-ai:0.8.6 # Reflects deployment.yaml
container_name: audiomuse-ai-worker-instance container_name: audiomuse-ai-worker-instance
env_file: env_file:
- .env - .env

View File

@@ -1,2 +0,0 @@
BAIKAL_CONFIG_DIR=
BAIKAL_DATA_DIR=

View File

@@ -1,11 +0,0 @@
services:
baikal:
image: ckulka/baikal:0.10.1-nginx
restart: always
ports:
- "8083:80"
volumes:
- ${BAIKAL_CONFIG_DIR}:/var/www/baikal/config
- ${BAIKAL_DATA_DIR}:/var/www/baikal/Specific
env_file:
- .env

View File

@@ -1,10 +1,10 @@
include: include:
- audiobookshelf/docker-compose.yml - audiobookshelf/docker-compose.yml
- audiomuse/docker-compose.yml - audiomuse/docker-compose.yml
- baikal/docker-compose.yml
- gitea/docker-compose.yml - gitea/docker-compose.yml
- immich/docker-compose.yml - immich/docker-compose.yml
- jellyfin/docker-compose.yml - jellyfin/docker-compose.yml
- monitoring/docker-compose.yml
- nextcloud/docker-compose.yml - nextcloud/docker-compose.yml
- paperless/docker-compose.yml - paperless/docker-compose.yml
- pihole/docker-compose.yml - pihole/docker-compose.yml
@@ -13,5 +13,5 @@ include:
- spliit/docker-compose.yml - spliit/docker-compose.yml
- shlink/docker-compose.yml - shlink/docker-compose.yml
- synapse/docker-compose.yml - synapse/docker-compose.yml
- updater/docker-compose.yml # - updater/docker-compose.yml
- vaultwarden/docker-compose.yml - vaultwarden/docker-compose.yml

View File

@@ -24,4 +24,4 @@ services:
volumes: volumes:
- ./runner-config.yaml:/config.yaml - ./runner-config.yaml:/config.yaml
- ${GITEA_RUNNER_DATA_LOCATION}:/data - ${GITEA_RUNNER_DATA_LOCATION}:/data
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock

View File

@@ -1,6 +1,6 @@
services: services:
jellyfin: jellyfin:
image: jellyfin/jellyfin:10.11.5 image: jellyfin/jellyfin:10.11.6
user: ${JELLYFIN_USER_UID}:${JELLYFIN_USER_GID} user: ${JELLYFIN_USER_UID}:${JELLYFIN_USER_GID}
network_mode: 'host' network_mode: 'host'
restart: always restart: always

27
monitoring/.env.example Normal file
View File

@@ -0,0 +1,27 @@
GRAFANA_ADMIN_USER=
GRAFANA_ADMIN_PASSWORD=
GRAFANA_DOMAIN=
GRAFANA_ROOT_URL=
GRAFANA_DISABLE_LOGIN_FORM=false
GRAFANA_SMTP_ENABLED=true
GRAFANA_SMTP_HOST=
GRAFANA_SMTP_USER=
GRAFANA_SMTP_PASSWORD=
GRAFANA_SMTP_FROM=
GRAFANA_DATA_DIR=
PROMETHEUS_CONFIG_PATH=
PROMETHEUS_DATA_DIR=
BLACKBOX_CONFIG_PATH=
LOKI_CONFIG_PATH=
LOKI_DATA_DIR=
ALLOY_CONFIG_PATH=
GMF_MATRIX_HOMESERVER=
GMF_MATRIX_USER=
GMF_MATRIX_TOKEN=

View File

@@ -0,0 +1,115 @@
services:
# Prometheus - Metrics Collection
prometheus:
image: prom/prometheus:v3.9.1
restart: unless-stopped
ports:
- "9091:9090"
volumes:
- ${PROMETHEUS_CONFIG_PATH}:/etc/prometheus/prometheus.yml:ro
- ${PROMETHEUS_DATA_DIR}:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/etc/prometheus/console_libraries'
- '--web.console.templates=/etc/prometheus/consoles'
- '--storage.tsdb.retention.time=200h'
- '--web.enable-lifecycle'
- '--web.enable-admin-api'
# Grafana - Visualization Dashboard
grafana:
image: grafana/grafana:12.3.1
restart: unless-stopped
ports:
- "3002:3000"
volumes:
- ${GRAFANA_DATA_DIR}:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_USER=${GRAFANA_ADMIN_USER}
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD}
- GF_USERS_ALLOW_SIGN_UP=false
- GF_SERVER_DOMAIN=${GRAFANA_DOMAIN}
- GF_SERVER_ROOT_URL=${GRAFANA_ROOT_URL}
- GF_AUTH_DISABLE_LOGIN_FORM=${GRAFANA_DISABLE_LOGIN_FORM}
- GF_SMTP_ENABLED=${GRAFANA_SMTP_ENABLED}
- GF_SMTP_HOST=${GRAFANA_SMTP_HOST}
- GF_SMTP_USER=${GRAFANA_SMTP_USER}
- GF_SMTP_PASSWORD=${GRAFANA_SMTP_PASSWORD}
- GF_SMTP_FROM_ADDRESS=${GRAFANA_SMTP_FROM}
depends_on:
- prometheus
loki:
image: grafana/loki:3.6.3
restart: unless-stopped
ports:
- "3100:3100"
volumes:
- ${LOKI_CONFIG_PATH}:/etc/loki/local-config.yaml
- ${LOKI_DATA_DIR}:/loki
command:
- '-config.file=/etc/loki/local-config.yaml'
- '-target=all'
alloy:
image: grafana/alloy:v1.12.2
restart: unless-stopped
ports:
- "12345:12345"
volumes:
- ${ALLOY_CONFIG_PATH}:/etc/alloy/config.alloy:ro
- /var/log:/var/log:ro
# Node Exporter - Host System Metrics
node_exporter:
image: prom/node-exporter:v1.10.2
restart: unless-stopped
ports:
- "9100:9100"
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.rootfs=/rootfs'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
# cAdvisor - Container Metrics
cadvisor:
image: gcr.io/cadvisor/cadvisor:v0.55.1
restart: unless-stopped
privileged: true
ports:
- "8081:8080"
volumes:
- /:/rootfs:ro
- /var/run:/var/run:ro
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
devices:
- /dev/kmsg
command:
- '--housekeeping_interval=30s'
- '--max_housekeeping_interval=35s'
- '--event_storage_event_limit=default=0'
- '--event_storage_age_limit=default=0'
- '--disable_metrics=disk,diskIO,tcp,udp,percpu,sched,process,hugetlb,referenced_memory'
- '--docker_only=true'
# Blackbox Exporter - Endpoint Monitoring
blackbox_exporter:
image: prom/blackbox-exporter:v0.28.0
restart: unless-stopped
ports:
- "9115:9115"
volumes:
- ${BLACKBOX_CONFIG_PATH}:/etc/blackbox_exporter/config.yml
grafana-matrix-forwarder:
build: ./grafana-matrix-forwarder
restart: unless-stopped
env_file:
- .env

View File

@@ -0,0 +1,9 @@
FROM alpine
# Create main app folder to run from
WORKDIR /app
# Copy compiled binary to release image
COPY grafana-matrix-forwarder /app/grafana-matrix-forwarder
ENTRYPOINT ["/app/grafana-matrix-forwarder"]

Binary file not shown.

View File

@@ -6,7 +6,7 @@ services:
- ${PAPERLESS_REDIS_DATA_DIR}:/data - ${PAPERLESS_REDIS_DATA_DIR}:/data
db: db:
image: docker.io/library/postgres:17 image: docker.io/library/postgres:18
restart: always restart: always
volumes: volumes:
- ${PAPERLESS_POSTGRES_DATA_DIR}:/var/lib/postgresql/data - ${PAPERLESS_POSTGRES_DATA_DIR}:/var/lib/postgresql/data
@@ -18,7 +18,7 @@ services:
- 5434:5432 - 5434:5432
paperless: paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:2.20.2 image: ghcr.io/paperless-ngx/paperless-ngx:2.20.4
restart: always restart: always
depends_on: depends_on:
- db - db

View File

@@ -3,5 +3,5 @@ TRUST_PROXY=
MAXMIND_LICENSE_KEY= MAXMIND_LICENSE_KEY=
PUID= PUID=
PGID= PGID=
ENCRYPTION_KEY=
POCKETID_DATA_DIR= POCKETID_DATA_DIR=

View File

@@ -1,6 +1,6 @@
services: services:
pocket-id: pocket-id:
image: ghcr.io/pocket-id/pocket-id:v1.16.0 image: ghcr.io/pocket-id/pocket-id:v2.2.0
restart: always restart: always
env_file: .env env_file: .env
ports: ports:

View File

@@ -1,6 +1,6 @@
services: services:
shlink: shlink:
image: shlinkio/shlink:4.6 image: shlinkio/shlink:5.0
container_name: shlink container_name: shlink
restart: always restart: always
ports: ports:

View File

@@ -1,6 +1,6 @@
services: services:
element-call-auth-service: element-call-auth-service:
image: ghcr.io/element-hq/lk-jwt-service:0.4.0 image: ghcr.io/element-hq/lk-jwt-service:0.4.1
container_name: element-call-jwt container_name: element-call-jwt
hostname: auth-server hostname: auth-server
environment: environment:
@@ -13,7 +13,7 @@ services:
ports: ports:
- 8071:8080 - 8071:8080
element-call-livekit: element-call-livekit:
image: livekit/livekit-server:v1.9.10 image: livekit/livekit-server:v1.9.11
command: --config /etc/livekit.yaml command: --config /etc/livekit.yaml
ports: ports:
- "7880:7880/tcp" - "7880:7880/tcp"
@@ -25,12 +25,12 @@ services:
- ${LIVEKIT_CONFIG_DIR}/config.yaml:/etc/livekit.yaml:ro - ${LIVEKIT_CONFIG_DIR}/config.yaml:/etc/livekit.yaml:ro
mautrix-signal: mautrix-signal:
container_name: mautrix-signal container_name: mautrix-signal
image: dock.mau.dev/mautrix/signal:v0.2512.0 image: dock.mau.dev/mautrix/signal:v0.2601.0
restart: always restart: always
volumes: volumes:
- ${MAUTRIX_SIGNAL_DATA_DIR}:/data - ${MAUTRIX_SIGNAL_DATA_DIR}:/data
mautrix-signal_db: mautrix-signal_db:
image: docker.io/library/postgres:17 image: docker.io/library/postgres:18
restart: always restart: always
volumes: volumes:
- ${MAUTRIX_SIGNAL_POSTGRES_DATA_DIR}:/var/lib/postgresql/data - ${MAUTRIX_SIGNAL_POSTGRES_DATA_DIR}:/var/lib/postgresql/data
@@ -42,7 +42,7 @@ services:
- 5439:5432 - 5439:5432
mautrix-whatsapp: mautrix-whatsapp:
container_name: mautrix-whatsapp container_name: mautrix-whatsapp
image: dock.mau.dev/mautrix/whatsapp:v0.2512.0 image: dock.mau.dev/mautrix/whatsapp:v0.2601.0
#image: petersmit27/mautrix-whatsapp:latest #image: petersmit27/mautrix-whatsapp:latest
restart: always restart: always
volumes: volumes:
@@ -50,7 +50,7 @@ services:
depends_on: depends_on:
- mautrix-whatsapp_db - mautrix-whatsapp_db
mautrix-whatsapp_db: mautrix-whatsapp_db:
image: docker.io/library/postgres:17 image: docker.io/library/postgres:18
restart: always restart: always
volumes: volumes:
- ${MAUTRIX_WHATSAPP_POSTGRES_DATA_DIR}:/var/lib/postgresql/data - ${MAUTRIX_WHATSAPP_POSTGRES_DATA_DIR}:/var/lib/postgresql/data
@@ -61,7 +61,7 @@ services:
ports: ports:
- 5440:5432 - 5440:5432
mas: mas:
image: ghcr.io/element-hq/matrix-authentication-service:1.8.0 image: ghcr.io/element-hq/matrix-authentication-service:1.9.0
restart: always restart: always
working_dir: /config working_dir: /config
volumes: volumes:
@@ -73,7 +73,7 @@ services:
depends_on: depends_on:
- mas_db - mas_db
mas_db: mas_db:
image: docker.io/library/postgres:17 image: docker.io/library/postgres:18
restart: always restart: always
volumes: volumes:
- ${MAS_POSTGRES_DATA_DIR}:/var/lib/postgresql/data - ${MAS_POSTGRES_DATA_DIR}:/var/lib/postgresql/data
@@ -84,7 +84,7 @@ services:
ports: ports:
- 5441:5432 - 5441:5432
synapse_db: synapse_db:
image: docker.io/library/postgres:17 image: docker.io/library/postgres:18
restart: always restart: always
volumes: volumes:
- ${SYNAPSE_POSTGRES_DATA_DIR}:/var/lib/postgresql/data - ${SYNAPSE_POSTGRES_DATA_DIR}:/var/lib/postgresql/data
@@ -97,7 +97,7 @@ services:
- 5442:5432 - 5442:5432
synapse: synapse:
container_name: synapse container_name: synapse
image: matrixdotorg/synapse:v1.144.0 image: matrixdotorg/synapse:v1.145.0
restart: always restart: always
volumes: volumes:
- ${SYNAPSE_CONFIG_DIR}:/data - ${SYNAPSE_CONFIG_DIR}:/data
@@ -107,3 +107,10 @@ services:
- synapse_db - synapse_db
- mas - mas
- mautrix-whatsapp - mautrix-whatsapp
element-admin:
image: oci.element.io/element-admin:0.1.10
restart: unless-stopped
ports:
- "8079:8080"
environment:
- SERVER_NAME=${MATRIX_DOMAIN}

View File

@@ -16,7 +16,7 @@ RUN echo \
# Install git and docker-compose # Install git and docker-compose
RUN apt-get update && \ RUN apt-get update && \
apt-get install -y git docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin && \ apt-get install -y git docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-model-plugin && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# Create .docker directory and set permissions # Create .docker directory and set permissions

View File

@@ -1,7 +1,7 @@
services: services:
vaultwarden: vaultwarden:
container_name: vaultwarden container_name: vaultwarden
image: vaultwarden/server:1.35.1 image: vaultwarden/server:1.35.2
restart: always restart: always
volumes: volumes:
- ${VAULTWARDEN_DATA_LOCATION}:/data/ - ${VAULTWARDEN_DATA_LOCATION}:/data/