diff --git a/server/config/authentik/docker-compose.yml b/server/config/authentik/docker-compose.yml index 788ee13..e4b1386 100644 --- a/server/config/authentik/docker-compose.yml +++ b/server/config/authentik/docker-compose.yml @@ -38,6 +38,13 @@ services: server: image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2022.7.1} container_name: authentik_authentik + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" networks: authentik: web: @@ -67,6 +74,13 @@ services: worker: image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2022.1.3} container_name: authentik_worker + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" networks: - authentik diff --git a/server/config/autopirate/docker-compose.yml b/server/config/autopirate/docker-compose.yml index 5a85039..4ea1eb7 100644 --- a/server/config/autopirate/docker-compose.yml +++ b/server/config/autopirate/docker-compose.yml @@ -3,6 +3,13 @@ services: radarr: image: linuxserver/radarr container_name: autopirate_radarr + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" networks: - web environment: @@ -22,6 +29,13 @@ services: sonarr: image: linuxserver/sonarr container_name: autopirate_sonarr + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" networks: - web environment: @@ -41,6 +55,13 @@ services: lidarr: image: linuxserver/lidarr container_name: autopirate_lidarr + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" networks: - web environment: @@ -60,6 +81,13 @@ services: nzbhydra2: image: linuxserver/nzbhydra2 container_name: autopirate_nzbhydra2 + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" networks: - web environment: @@ -78,6 +106,13 @@ services: sabnzbd: image: linuxserver/sabnzbd container_name: autopirate_sabnzbd + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" networks: - web - monitoring @@ -100,6 +135,13 @@ services: tdarr: image: haveagitgat/tdarr:latest container_name: autopirate_tdarr + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" networks: web: tdarr: @@ -132,6 +174,13 @@ services: tdarr-node: image: haveagitgat/tdarr_node:latest container_name: autopirate_tdarr-node + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" deploy: resources: reservations: @@ -166,6 +215,13 @@ services: jackett: image: linuxserver/jackett container_name: autopirate_jackett + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" networks: - web environment: diff --git a/server/config/calibre-web/docker-compose.yml b/server/config/calibre-web/docker-compose.yml index 7d298fa..b966278 100644 --- a/server/config/calibre-web/docker-compose.yml +++ b/server/config/calibre-web/docker-compose.yml @@ -3,6 +3,13 @@ services: calibre-web-rpg: image: linuxserver/calibre-web container_name: calibre-web_rpg + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" environment: - PUID=1000 - PGID=1000 @@ -20,6 +27,13 @@ services: calibre-web-sff: image: linuxserver/calibre-web container_name: calibre-web_sff + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" environment: - PUID=1000 - PGID=1000 @@ -37,6 +51,13 @@ services: calibre-web-ace: image: linuxserver/calibre-web container_name: calibre-web_ace + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" environment: - PUID=1000 - PGID=1000 @@ -54,6 +75,13 @@ services: calibre-web-dev: image: registry.gitlab.jafner.net/jafner/calibre-web/calibre-web:master-latest container_name: calibre-web_dev + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" environment: - PUID=1000 - PGID=1000 diff --git a/server/config/cloudflare-ddns/docker-compose.yml b/server/config/cloudflare-ddns/docker-compose.yml index 408ce11..dbc55b1 100644 --- a/server/config/cloudflare-ddns/docker-compose.yml +++ b/server/config/cloudflare-ddns/docker-compose.yml @@ -3,6 +3,13 @@ services: cloudflare-ddns: image: oznu/cloudflare-ddns container_name: ddns_cloudflare-ddns + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" environment: - API_KEY=6wjPH5DND2dFjWIuNTq_TVL-VJS9czp5Wlq3_4ju diff --git a/server/config/gitlab/docker-compose.yml b/server/config/gitlab/docker-compose.yml index bf26af7..7cda79c 100644 --- a/server/config/gitlab/docker-compose.yml +++ b/server/config/gitlab/docker-compose.yml @@ -3,6 +3,13 @@ services: gitlab: image: 'gitlab/gitlab-ee:latest' container_name: gitlab_gitlab + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" hostname: 'gitlab.jafner.net' networks: @@ -85,6 +92,13 @@ services: gitlab-runner-0: image: 'gitlab/gitlab-runner:latest' container_name: gitlab_runner_0 + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" environment: - GODEBUG="x509ignoreCN=0" @@ -97,6 +111,13 @@ services: gitlab-runner-1: image: 'gitlab/gitlab-runner:latest' container_name: gitlab_runner_1 + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" environment: - GODEBUG="x509ignoreCN=0" diff --git a/server/config/homer/docker-compose.yml b/server/config/homer/docker-compose.yml index 2ab800f..32dc06d 100644 --- a/server/config/homer/docker-compose.yml +++ b/server/config/homer/docker-compose.yml @@ -1,21 +1,28 @@ version: '3' services: - homer: - image: b4bz/homer - container_name: homepage_homer - restart: "unless-stopped" - environment: - - UID=1000 - - GID=1000 - volumes: - - ./assets:/www/assets - networks: - - web - labels: - - traefik.http.routers.homer.rule=Host(`home.jafner.net`) - - traefik.http.routers.homer.tls.certresolver=lets-encrypt - - traefik.http.routers.homer.middlewares=authentik@file + homer: + image: b4bz/homer + container_name: homepage_homer + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" + restart: "unless-stopped" + environment: + - UID=1000 + - GID=1000 + volumes: + - ./assets:/www/assets + networks: + - web + labels: + - traefik.http.routers.homer.rule=Host(`home.jafner.net`) + - traefik.http.routers.homer.tls.certresolver=lets-encrypt + - traefik.http.routers.homer.middlewares=authentik@file networks: - web: - external: true + web: + external: true diff --git a/server/config/jdownloader2/docker-compose.yml b/server/config/jdownloader2/docker-compose.yml index cd434fc..feafb76 100644 --- a/server/config/jdownloader2/docker-compose.yml +++ b/server/config/jdownloader2/docker-compose.yml @@ -3,6 +3,13 @@ services: jdl: image: jlesage/jdownloader-2 container_name: jdownloader2 + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" networks: - web volumes: diff --git a/server/config/landing/docker-compose.yml b/server/config/landing/docker-compose.yml index b2f2dbf..bcf8ef5 100644 --- a/server/config/landing/docker-compose.yml +++ b/server/config/landing/docker-compose.yml @@ -1,46 +1,53 @@ version: '3.1' services: - landing: - image: wordpress - container_name: wordpress_landing - restart: "no" - environment: - WORDPRESS_DB_HOST: landing_db - WORDPRESS_DB_USER: wordpress - WORDPRESS_DB_PASSWORD: wordpress - WORDPRESS_DB_NAME: wordpressdb - volumes: - - ${DOCKER_DATA}/html:/var/www/html - - ./docker-php-memlimit.ini:/usr/local/etc/php/conf.d/docker-php-memlimit.ini:ro - labels: - - traefik.http.routers.landing.rule=Host(`www.jafner.net`) - - traefik.http.routers.landing.tls=true - - traefik.http.routers.landing.tls.certresolver=lets-encrypt - - traefik.port=80 - networks: - - web - - landing - depends_on: - - landing_db + landing: + image: wordpress + container_name: wordpress_landing + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" + restart: "no" + environment: + WORDPRESS_DB_HOST: landing_db + WORDPRESS_DB_USER: wordpress + WORDPRESS_DB_PASSWORD: wordpress + WORDPRESS_DB_NAME: wordpressdb + volumes: + - ${DOCKER_DATA}/html:/var/www/html + - ./docker-php-memlimit.ini:/usr/local/etc/php/conf.d/docker-php-memlimit.ini:ro + labels: + - traefik.http.routers.landing.rule=Host(`www.jafner.net`) + - traefik.http.routers.landing.tls=true + - traefik.http.routers.landing.tls.certresolver=lets-encrypt + - traefik.port=80 + networks: + - web + - landing + depends_on: + - landing_db - landing_db: - image: mysql:5.7 - container_name: wordpress_landing-db - restart: "no" - networks: - - landing - environment: - MYSQL_DATABASE: wordpressdb - MYSQL_USER: wordpress - MYSQL_PASSWORD: wordpress - MYSQL_RANDOM_ROOT_PASSWORD: '1' - volumes: - - ${DOCKER_DATA}/db:/var/lib/mysql - labels: - - traefik.enable=false + landing_db: + image: mysql:5.7 + container_name: wordpress_landing-db + restart: "no" + networks: + - landing + environment: + MYSQL_DATABASE: wordpressdb + MYSQL_USER: wordpress + MYSQL_PASSWORD: wordpress + MYSQL_RANDOM_ROOT_PASSWORD: '1' + volumes: + - ${DOCKER_DATA}/db:/var/lib/mysql + labels: + - traefik.enable=false networks: - web: - external: true - landing: + web: + external: true + landing: diff --git a/server/config/librespeed/docker-compose.yml b/server/config/librespeed/docker-compose.yml index c617ad5..ee3fecd 100644 --- a/server/config/librespeed/docker-compose.yml +++ b/server/config/librespeed/docker-compose.yml @@ -1,8 +1,15 @@ version: "3" services: librespeed: - container_name: librespeed image: adolfintel/speedtest + container_name: librespeed + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" environment: - TITLE=LibreSpeed@Jafner.net diff --git a/server/config/minecraft/bmcp.yml b/server/config/minecraft/bmcp.yml index 3e34c7b..d25b8ba 100644 --- a/server/config/minecraft/bmcp.yml +++ b/server/config/minecraft/bmcp.yml @@ -4,6 +4,13 @@ services: bmcp: image: itzg/minecraft-server:java8 container_name: minecraft_bmcp + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" environment: - EULA=TRUE - MAX_MEMORY=12G diff --git a/server/config/minecraft/e6.yml b/server/config/minecraft/e6.yml index ffd5c81..9afd47f 100644 --- a/server/config/minecraft/e6.yml +++ b/server/config/minecraft/e6.yml @@ -4,6 +4,13 @@ services: e6: image: itzg/minecraft-server:java8 container_name: minecraft_e6 + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" environment: - EULA=TRUE - MAX_MEMORY=8G diff --git a/server/config/minecraft/fan.yml b/server/config/minecraft/fan.yml index 2a2e1fa..48aa4c4 100644 --- a/server/config/minecraft/fan.yml +++ b/server/config/minecraft/fan.yml @@ -4,6 +4,13 @@ services: fan: image: itzg/minecraft-server:java8 container_name: minecraft_fan + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" environment: - EULA=TRUE - MAX_MEMORY=6G diff --git a/server/config/minecraft/router.yml b/server/config/minecraft/router.yml index 08f2ba6..1b926ee 100644 --- a/server/config/minecraft/router.yml +++ b/server/config/minecraft/router.yml @@ -3,6 +3,13 @@ services: router: image: itzg/mc-router container_name: minecraft_mc-router + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" networks: - mc-router diff --git a/server/config/minecraft/vanilla.yml b/server/config/minecraft/vanilla.yml index 56456c4..160674f 100644 --- a/server/config/minecraft/vanilla.yml +++ b/server/config/minecraft/vanilla.yml @@ -3,6 +3,13 @@ services: vanilla: image: itzg/minecraft-server:latest container_name: minecraft_vanilla + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" environment: - EULA=TRUE - VERSION=1.19 diff --git a/server/config/monitoring/README.md b/server/config/monitoring/README.md index 675f45a..e77433d 100644 --- a/server/config/monitoring/README.md +++ b/server/config/monitoring/README.md @@ -63,10 +63,10 @@ services: logging: driver: loki options: - loki-url: "http://localhost:3100/loki/api/v1/push" + loki-url: http://localhost:3100/loki/api/v1/push loki-batch-size: "50" - loki-retries: 1 - loki-timeout: 2s + loki-retries: "1" + loki-timeout: "2s" ``` NOTE: The batch size here is in lines for *only the selected container*. diff --git a/server/config/monitoring/docker-compose.yml b/server/config/monitoring/docker-compose.yml index f83738e..2572c2a 100644 --- a/server/config/monitoring/docker-compose.yml +++ b/server/config/monitoring/docker-compose.yml @@ -1,113 +1,162 @@ version: '3' services: - grafana: - image: grafana/grafana-oss:latest - container_name: monitoring_grafana - restart: "no" - networks: - - monitoring - - web - user: "0" - volumes: - - ${DOCKER_DATA}/grafana:/var/lib/grafana - - ./custom.ini:/etc/grafana/grafana.ini - labels: - - traefik.http.routers.grafana.rule=Host(`grafana.jafner.net`) - - traefik.http.routers.grafana.tls.certresolver=lets-encrypt - #- traefik.http.routers.grafana.middlewares=authelia@file + grafana: + image: grafana/grafana-oss:latest + container_name: monitoring_grafana + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" + restart: "no" + networks: + - monitoring + - web + user: "0" + volumes: + - ${DOCKER_DATA}/grafana:/var/lib/grafana + - ./custom.ini:/etc/grafana/grafana.ini + labels: + - traefik.http.routers.grafana.rule=Host(`grafana.jafner.net`) + - traefik.http.routers.grafana.tls.certresolver=lets-encrypt + #- traefik.http.routers.grafana.middlewares=authelia@file - prometheus: - image: prom/prometheus:latest - container_name: monitoring_prometheus - user: "1000:1000" - networks: - - monitoring - - web - ports: - - 9090:9090 - volumes: - - ./prometheus.yml:/etc/prometheus/prometheus.yml - - ${DOCKER_DATA}/prometheus:/prometheus - restart: "no" - command: - - "--config.file=/etc/prometheus/prometheus.yml" - labels: - - traefik.http.routers.prometheus-monitoring.rule=Host(`prometheus.jafner.net`) - - traefik.http.routers.prometheus-monitoring.tls.certresolver=lets-encrypt - - traefik.http.routers.prometheus-monitoring.middlewares=authentik@file - - loki: - image: grafana/loki:2.5.0 - container_name: monitoring_loki - networks: - - monitoring - - web - ports: - - "3100:3100" - volumes: - - ${DOCKER_DATA}/loki:/etc/loki - - ./loki-config.yml:/etc/loki/loki-config.yml # not sure if this works. If not, just edit the config within the data volume - restart: "no" - command: -config.file=/etc/loki/loki-config.yml - labels: - - traefik.http.routers.loki.rule=Host(`loki.jafner.net`) - - traefik.http.routers.loki.tls.certresolver=lets-encrypt + prometheus: + image: prom/prometheus:latest + container_name: monitoring_prometheus + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" + user: "1000:1000" + networks: + - monitoring + - web + ports: + - 9090:9090 + volumes: + - ./prometheus.yml:/etc/prometheus/prometheus.yml + - ${DOCKER_DATA}/prometheus:/prometheus + restart: "no" + command: + - "--config.file=/etc/prometheus/prometheus.yml" + labels: + - traefik.http.routers.prometheus-monitoring.rule=Host(`prometheus.jafner.net`) + - traefik.http.routers.prometheus-monitoring.tls.certresolver=lets-encrypt + - traefik.http.routers.prometheus-monitoring.middlewares=authentik@file + + loki: + image: grafana/loki:2.5.0 + container_name: monitoring_loki + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" + networks: + - monitoring + - web + ports: + - "3100:3100" + volumes: + - ${DOCKER_DATA}/loki:/etc/loki + - ./loki-config.yml:/etc/loki/loki-config.yml # not sure if this works. If not, just edit the config within the data volume + restart: "no" + command: -config.file=/etc/loki/loki-config.yml + labels: + - traefik.http.routers.loki.rule=Host(`loki.jafner.net`) + - traefik.http.routers.loki.tls.certresolver=lets-encrypt - pihole-jafner-net: - image: ekofr/pihole-exporter:latest - container_name: monitoring_prometheus-pihole-jafner-net - restart: "no" - networks: - - monitoring - environment: - - PIHOLE_HOSTNAME=pihole.jafner.net - - PIHOLE_PASSWORD=wjrXfjjEsPRCoBkVLKG3FmTaX8DZvBWh5z7ba6GBukAzYjms3k - - INTERVAL=15s - - PORT=9617 - labels: - - traefik.enable=false + pihole-jafner-net: + image: ekofr/pihole-exporter:latest + container_name: monitoring_prometheus-pihole-jafner-net + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" + restart: "no" + networks: + - monitoring + environment: + - PIHOLE_HOSTNAME=pihole.jafner.net + - PIHOLE_PASSWORD=wjrXfjjEsPRCoBkVLKG3FmTaX8DZvBWh5z7ba6GBukAzYjms3k + - INTERVAL=15s + - PORT=9617 + labels: + - traefik.enable=false - mc-monitor: - image: itzg/mc-monitor # https://github.com/itzg/mc-monitor - container_name: monitoring_mc-monitor - command: export-for-prometheus - restart: "no" - networks: - - monitoring - - mc-router - environment: - EXPORT_SERVERS: e6-056,vanilla,bmcp,e6,e6-dev,fan - labels: - - traefik.enable=false + mc-monitor: + image: itzg/mc-monitor # https://github.com/itzg/mc-monitor + container_name: monitoring_mc-monitor + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" + command: export-for-prometheus + restart: "no" + networks: + - monitoring + - mc-router + environment: + EXPORT_SERVERS: e6-056,vanilla,bmcp,e6,e6-dev,fan + labels: + - traefik.enable=false - plex-exporter: - image: granra/plex_exporter - container_name: monitoring_plex-exporter - restart: "no" - networks: - - monitoring - command: - - "--plex-server=https://plex.jafner.net" - - "--token=5PLsbzsQTXomf88sKyGr" - - "--auto-discover" - labels: - - traefik.enable=false + plex-exporter: + image: granra/plex_exporter + container_name: monitoring_plex-exporter + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" + restart: "no" + networks: + - monitoring + command: + - "--plex-server=https://plex.jafner.net" + - "--token=5PLsbzsQTXomf88sKyGr" + - "--auto-discover" + labels: + - traefik.enable=false - sabnzbd_exporter: - image: msroest/sabnzbd_exporter # https://github.com/msroest/sabnzbd_exporter - container_name: monitoring_sabnzbd_exporter - restart: "no" - networks: - - monitoring - environment: - - SABNZBD_BASEURLS=https://sabnzbd.jafner.net:443 - - SABNZBD_APIKEYS=b7af57a920014eb08aa3881fc0384c4f + sabnzbd_exporter: + image: msroest/sabnzbd_exporter # https://github.com/msroest/sabnzbd_exporter + container_name: monitoring_sabnzbd_exporter + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" + restart: "no" + networks: + - monitoring + environment: + - SABNZBD_BASEURLS=https://sabnzbd.jafner.net:443 + - SABNZBD_APIKEYS=b7af57a920014eb08aa3881fc0384c4f networks: - monitoring: - external: true - web: - external: true - mc-router: - external: true + monitoring: + external: true + web: + external: true + mc-router: + external: true diff --git a/server/config/navidrome/docker-compose.yml b/server/config/navidrome/docker-compose.yml index 84bc796..ae1284d 100644 --- a/server/config/navidrome/docker-compose.yml +++ b/server/config/navidrome/docker-compose.yml @@ -3,6 +3,13 @@ services: navidrome: image: deluan/navidrome:latest container_name: navidrome_navidrome + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" user: 1000:1000 networks: - web diff --git a/server/config/nvgm/docker-compose.yml b/server/config/nvgm/docker-compose.yml index 5ffdee1..6c172c0 100644 --- a/server/config/nvgm/docker-compose.yml +++ b/server/config/nvgm/docker-compose.yml @@ -1,45 +1,52 @@ version: '3.1' services: - nvgm: - image: wordpress - container_name: wordpress_nvgm - restart: "no" - environment: - WORDPRESS_DB_HOST: nvgm_db - WORDPRESS_DB_USER: wordpress - WORDPRESS_DB_PASSWORD: wordpress - WORDPRESS_DB_NAME: wordpressdb - volumes: - - ${DOCKER_DATA}/html:/var/www/html - labels: - - traefik.http.routers.nvgm.rule=Host(`nvgm.jafner.net`) - - traefik.http.routers.nvgm.tls=true - - traefik.http.routers.nvgm.tls.certresolver=lets-encrypt - - traefik.port=80 - networks: - - web - - nvgm - depends_on: - - nvgm_db + nvgm: + image: wordpress + container_name: wordpress_nvgm + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" + restart: "no" + environment: + WORDPRESS_DB_HOST: nvgm_db + WORDPRESS_DB_USER: wordpress + WORDPRESS_DB_PASSWORD: wordpress + WORDPRESS_DB_NAME: wordpressdb + volumes: + - ${DOCKER_DATA}/html:/var/www/html + labels: + - traefik.http.routers.nvgm.rule=Host(`nvgm.jafner.net`) + - traefik.http.routers.nvgm.tls=true + - traefik.http.routers.nvgm.tls.certresolver=lets-encrypt + - traefik.port=80 + networks: + - web + - nvgm + depends_on: + - nvgm_db - nvgm_db: - image: mysql:5.7 - container_name: wordpress_nvgm-db - restart: "no" - networks: - - nvgm - environment: - MYSQL_DATABASE: wordpressdb - MYSQL_USER: wordpress - MYSQL_PASSWORD: wordpress - MYSQL_RANDOM_ROOT_PASSWORD: '1' - labels: - - traefik.enable=false - volumes: - - ${DOCKER_DATA}/db:/var/lib/mysql + nvgm_db: + image: mysql:5.7 + container_name: wordpress_nvgm-db + restart: "no" + networks: + - nvgm + environment: + MYSQL_DATABASE: wordpressdb + MYSQL_USER: wordpress + MYSQL_PASSWORD: wordpress + MYSQL_RANDOM_ROOT_PASSWORD: '1' + labels: + - traefik.enable=false + volumes: + - ${DOCKER_DATA}/db:/var/lib/mysql networks: - web: - external: true - nvgm: + web: + external: true + nvgm: diff --git a/server/config/peertube/docker-compose.yml b/server/config/peertube/docker-compose.yml index 6bc460c..2d11475 100644 --- a/server/config/peertube/docker-compose.yml +++ b/server/config/peertube/docker-compose.yml @@ -4,6 +4,13 @@ services: peertube: image: chocobozzz/peertube:production-buster container_name: peertube_peertube + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" networks: web: peertube: diff --git a/server/config/plex/docker-compose.yml b/server/config/plex/docker-compose.yml index bdbfdd6..40c277f 100644 --- a/server/config/plex/docker-compose.yml +++ b/server/config/plex/docker-compose.yml @@ -3,6 +3,13 @@ services: plex: image: linuxserver/plex container_name: plex_plex + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" deploy: resources: @@ -11,7 +18,6 @@ services: - driver: nvidia count: all capabilities: [gpu] - networks: - web ports: @@ -46,6 +52,13 @@ services: ombi: image: ghcr.io/linuxserver/ombi container_name: plex_ombi + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" networks: - web @@ -65,6 +78,13 @@ services: tautulli: image: lscr.io/linuxserver/tautulli container_name: plex_tautulli + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" environment: - PUID=1000 diff --git a/server/config/portainer/docker-compose.yml b/server/config/portainer/docker-compose.yml index 1e463b9..6b40907 100644 --- a/server/config/portainer/docker-compose.yml +++ b/server/config/portainer/docker-compose.yml @@ -3,6 +3,13 @@ services: portainer: image: portainer/portainer-ce container_name: portainer_portainer + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" command: -H unix:///var/run/docker.sock networks: diff --git a/server/config/portfolio/docker-compose.yml b/server/config/portfolio/docker-compose.yml index a68d456..4f38943 100644 --- a/server/config/portfolio/docker-compose.yml +++ b/server/config/portfolio/docker-compose.yml @@ -1,45 +1,52 @@ version: '3.1' services: - portfolio: - image: wordpress - container_name: wordpress_portfolio - restart: "no" - environment: - WORDPRESS_DB_HOST: portfolio_db - WORDPRESS_DB_USER: wordpress - WORDPRESS_DB_PASSWORD: wordpress - WORDPRESS_DB_NAME: wordpressdb - volumes: - - ${DOCKER_DATA}/html:/var/www/html - labels: - - traefik.http.routers.portfolio.rule=Host(`portfolio.jafner.net`) - - traefik.http.routers.portfolio.tls=true - - traefik.http.routers.portfolio.tls.certresolver=lets-encrypt - - traefik.port=80 - networks: - - web - - portfolio - depends_on: - - portfolio_db + portfolio: + image: wordpress + container_name: wordpress_portfolio + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" + restart: "no" + environment: + WORDPRESS_DB_HOST: portfolio_db + WORDPRESS_DB_USER: wordpress + WORDPRESS_DB_PASSWORD: wordpress + WORDPRESS_DB_NAME: wordpressdb + volumes: + - ${DOCKER_DATA}/html:/var/www/html + labels: + - traefik.http.routers.portfolio.rule=Host(`portfolio.jafner.net`) + - traefik.http.routers.portfolio.tls=true + - traefik.http.routers.portfolio.tls.certresolver=lets-encrypt + - traefik.port=80 + networks: + - web + - portfolio + depends_on: + - portfolio_db - portfolio_db: - image: mysql:5.7 - container_name: wordpress_portfolio-db - restart: "no" - networks: - - portfolio - environment: - MYSQL_DATABASE: wordpressdb - MYSQL_USER: wordpress - MYSQL_PASSWORD: wordpress - MYSQL_RANDOM_ROOT_PASSWORD: '1' - volumes: - - ${DOCKER_DATA}/db:/var/lib/mysql - labels: - - traefik.enable=false + portfolio_db: + image: mysql:5.7 + container_name: wordpress_portfolio-db + restart: "no" + networks: + - portfolio + environment: + MYSQL_DATABASE: wordpressdb + MYSQL_USER: wordpress + MYSQL_PASSWORD: wordpress + MYSQL_RANDOM_ROOT_PASSWORD: '1' + volumes: + - ${DOCKER_DATA}/db:/var/lib/mysql + labels: + - traefik.enable=false networks: - web: - external: true - portfolio: + web: + external: true + portfolio: diff --git a/server/config/qbittorrent/docker-compose.yml b/server/config/qbittorrent/docker-compose.yml index bb5feac..5ad8c50 100644 --- a/server/config/qbittorrent/docker-compose.yml +++ b/server/config/qbittorrent/docker-compose.yml @@ -2,7 +2,14 @@ version: "3" services: qbittorrent: image: linuxserver/qbittorrent - container_name: qbittorrent + container_name: qbittorrent_qbittorrent + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" networks: - web restart: "no" diff --git a/server/config/send/docker-compose.yml b/server/config/send/docker-compose.yml index e9a7ffc..241319d 100644 --- a/server/config/send/docker-compose.yml +++ b/server/config/send/docker-compose.yml @@ -3,6 +3,13 @@ services: send: image: registry.gitlab.com/timvisee/send:latest container_name: send_send + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" networks: - send diff --git a/server/config/sftp/docker-compose.yml b/server/config/sftp/docker-compose.yml index eb47c3a..ad812a5 100644 --- a/server/config/sftp/docker-compose.yml +++ b/server/config/sftp/docker-compose.yml @@ -3,6 +3,13 @@ services: sftp: image: atmoz/sftp container_name: sftp_sftp + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" ports: - 23450:22/tcp diff --git a/server/config/stashapp/docker-compose.yml b/server/config/stashapp/docker-compose.yml index 761cfb2..df2d26e 100644 --- a/server/config/stashapp/docker-compose.yml +++ b/server/config/stashapp/docker-compose.yml @@ -3,6 +3,13 @@ services: stash: container_name: stash image: stashapp/stash:latest + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" volumes: - /etc/localtime:/etc/localtime:ro diff --git a/server/config/traefik/docker-compose.yml b/server/config/traefik/docker-compose.yml index 4160f12..da3e954 100644 --- a/server/config/traefik/docker-compose.yml +++ b/server/config/traefik/docker-compose.yml @@ -4,6 +4,13 @@ services: traefik: image: traefik:latest container_name: traefik_traefik + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" networks: - web diff --git a/server/config/unifi_controller/docker-compose.yml b/server/config/unifi_controller/docker-compose.yml index 9bb5dfc..06bdc1f 100644 --- a/server/config/unifi_controller/docker-compose.yml +++ b/server/config/unifi_controller/docker-compose.yml @@ -3,6 +3,13 @@ services: unifi-controller: image: lscr.io/linuxserver/unifi-controller container_name: unifi_controller + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" restart: "no" environment: - PUID=1000 diff --git a/server/config/uptime-kuma/docker-compose.yml b/server/config/uptime-kuma/docker-compose.yml index d919ab2..e080b38 100644 --- a/server/config/uptime-kuma/docker-compose.yml +++ b/server/config/uptime-kuma/docker-compose.yml @@ -4,19 +4,26 @@ version: '3.3' services: - uptime-kuma: - image: louislam/uptime-kuma - container_name: monitoring_uptime-kuma - restart: "no" - volumes: - - ${DOCKER_DATA}/data:/app/data - networks: - - web - labels: - - traefik.http.routers.uptime-kuma.rule=Host(`uptime.jafner.net`) - - traefik.http.routers.uptime-kuma.tls.certresolver=lets-encrypt - - traefik.http.routers.uptime-kuma.middlewares=authentik@file + uptime-kuma: + image: louislam/uptime-kuma + container_name: monitoring_uptime-kuma + logging: + driver: loki + options: + loki-url: http://localhost:3100/loki/api/v1/push + loki-batch-size: "50" + loki-retries: "1" + loki-timeout: "2s" + restart: "no" + volumes: + - ${DOCKER_DATA}/data:/app/data + networks: + - web + labels: + - traefik.http.routers.uptime-kuma.rule=Host(`uptime.jafner.net`) + - traefik.http.routers.uptime-kuma.tls.certresolver=lets-encrypt + - traefik.http.routers.uptime-kuma.middlewares=authentik@file networks: - web: - external: true + web: + external: true