diff --git a/monitoring/docker-compose.yaml b/monitoring/docker-compose.yaml index 4e428a3..8a25bd1 100644 --- a/monitoring/docker-compose.yaml +++ b/monitoring/docker-compose.yaml @@ -6,7 +6,6 @@ services: networks: - web - grafana - - monitoring labels: - "traefik.enable=true" - "traefik.http.routers.grafana.rule=Host(`monitoring.${DOMAIN}`)" @@ -30,7 +29,7 @@ services: - GF_DATABASE_NAME=grafana - GF_DATABASE_USER=${POSTGRES_USER} - GF_DATABASE_PASSWORD=${POSTGRES_PASSWORD} - - GF_INSTALL_PLUGINS=flant-statusmap-panel,redis-datasource + - GF_INSTALL_PLUGINS=flant-statusmap-panel depends_on: - influxdb - grafanadb @@ -56,8 +55,6 @@ services: restart: unless-stopped networks: - web - - monitoring - - grafana environment: - INFLUXDB_MONITOR_STORE_ENABLED=false volumes: @@ -75,19 +72,6 @@ services: - "docker.group=monitoring" - prometheus: - image: prom/prometheus - restart: unless-stopped - networks: - - grafana - - monitoring - - web # also used to get traefik metrics - volumes: - - ./prometheus.yml:/etc/prometheus/prometheus.yml - - ${VOLUMES_PATH}/prometheus:/prometheus - labels: - - "docker.group=monitoring" - ################################################################## # here starts data collection @@ -114,10 +98,11 @@ services: depends_on: - influxdb - telegraf_net: image: telegraf:${TELEGRAF_VERSION} restart: unless-stopped + env_file: + - ./.env # set environments into container volumes: - ./telegraf_net.conf:/etc/telegraf/telegraf.conf:ro networks: @@ -128,7 +113,6 @@ services: depends_on: - influxdb - networks: grafana: monitoring: diff --git a/monitoring/prometheus.yml b/monitoring/prometheus.yml deleted file mode 100644 index 5f0575b..0000000 --- a/monitoring/prometheus.yml +++ /dev/null @@ -1,37 +0,0 @@ -# my global config -global: - scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. - evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. - # scrape_timeout is set to the global default (10s). - -# Alertmanager configuration -alerting: - alertmanagers: - - static_configs: - - targets: - # - alertmanager:9093 - -# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. -rule_files: - # - "first_rules.yml" - # - "second_rules.yml" - -# A scrape configuration containing exactly one endpoint to scrape: -# Here it's Prometheus itself. -scrape_configs: - # The job name is added as a label `job=` to any timeseries scraped from this config. - - - job_name: "prometheus" - # metrics_path defaults to '/metrics' - # scheme defaults to 'http'. - static_configs: - - targets: ["localhost:9090"] - - - job_name: "traefik" - scrape_interval: 5s - static_configs: - - targets: ["traefik:8080"] - - - job_name: "grafana" - static_configs: - - targets: ["grafana:3000"] diff --git a/monitoring/telegraf_net.conf b/monitoring/telegraf_net.conf index 138cf79..e0394b2 100644 --- a/monitoring/telegraf_net.conf +++ b/monitoring/telegraf_net.conf @@ -82,7 +82,10 @@ # urls = ["udp://127.0.0.1:8089"] # urls = ["http://127.0.0.1:8086"] - urls = ["http://influxdb:8086"] + ## HTTP Basic Auth + username = "${INFLUXDB_HTTP_BASIC_AUTH_USER}" + password = "${INFLUXDB_HTTP_BASIC_AUTH_PASSWORD}" + urls = ["https://influxdb.florianzirker.de"] # required ############################################################################### diff --git a/nextcloud/crontab b/nextcloud/crontab old mode 100755 new mode 100644 index a8885e2..0d1745c --- a/nextcloud/crontab +++ b/nextcloud/crontab @@ -1,3 +1,4 @@ */5 * * * * php -f /var/www/html/cron.php - - +1,11,21,31,41,51 * * * * php -f /var/www/html/occ files:cleanup +2,12,22,32,42,52 * * * * php -f /var/www/html/occ files:scan --all +#3,13,23,33,43,53 * * * * php -f /var/www/html/occ preview:pre-generate diff --git a/nextcloud/docker-compose.yaml b/nextcloud/docker-compose.yaml index 2c3a037..8b8b529 100644 --- a/nextcloud/docker-compose.yaml +++ b/nextcloud/docker-compose.yaml @@ -57,12 +57,7 @@ services: volumes: - ${VOLUMES_PATH}/nextcloud_html:/var/www/html - ${VOLUMES_PATH}/nextcloud_data:/var/www/html/data -# If I mount my crontab into the container crond is not working any more :( -# docker log should print 11110001 lines -# https://github.com/nextcloud/docker/issues/1775 -# https://github.com/nextcloud/docker/issues/1695 -# build own cron image? -# - $PWD/crontab:/var/spool/cron/crontabs/www-data + - $PWD/crontab:/var/spool/cron/crontabs/www-data:ro entrypoint: /cron.sh depends_on: - db @@ -120,12 +115,11 @@ services: redis: - image: redis + image: redis:alpine restart: unless-stopped command: redis-server --requirepass ${REDIS_HOST_PASSWORD} networks: - nextcloud - - monitoring volumes: - ${VOLUMES_PATH}/nextcloud_redis:/data labels: @@ -183,12 +177,6 @@ services: - LETS_ENCRYPT_ENABLED=false - EXPORT_URL=http://drawio-export:8000/ restart: unless-stopped - healthcheck: - test: curl -f http://localhost:8080 || exit 1 - interval: 1m30s - timeout: 10s - retries: 5 - start_period: 20s labels: - "traefik.enable=true" - "traefik.http.routers.drawio.rule=Host(`drawio.${DOMAIN}`)" @@ -203,5 +191,3 @@ networks: external: true nextcloud: mariadb: - monitoring: - external: true diff --git a/proxy/docker-compose.yaml b/proxy/docker-compose.yaml index d71e93a..c46978a 100755 --- a/proxy/docker-compose.yaml +++ b/proxy/docker-compose.yaml @@ -29,10 +29,6 @@ services: - "--certificatesresolvers.netcup.acme.dnschallenge.delayBeforeCheck=900" - "--certificatesresolvers.netcup.acme.email=${LETSENCRYPT_MAIL}" - "--certificatesresolvers.netcup.acme.storage=/letsencrypt/acme.json" - - "--metrics.prometheus=true" - - "--metrics.prometheus.addEntryPointsLabels=true" - - "--metrics.prometheus.addRoutersLabels=true" - - "--metrics.prometheus.addServicesLabels=true" ports: - "80:80" - "443:443" @@ -69,17 +65,17 @@ services: privileged: true - whoami: - image: containous/whoami - networks: - - web - labels: - - "traefik.enable=true" - - "traefik.http.routers.whoami.rule=Host(`whoami.${DOMAIN}`)" - - "traefik.http.routers.whoami.entrypoints=websecure" - - "traefik.http.routers.whoami.tls.certresolver=netcup" - - "docker.group=proxy" - restart: unless-stopped +# whoami: +# image: containous/whoami +# networks: +# - web +# labels: +# - "traefik.enable=true" +# - "traefik.http.routers.whoami.rule=Host(`whoami.${DOMAIN}`)" +# - "traefik.http.routers.whoami.entrypoints=websecure" +# - "traefik.http.routers.whoami.tls.certresolver=netcup" +# - "docker.group=proxy" +# restart: unless-stopped networks: diff --git a/pull-all.sh b/pull-all.sh index 98edd29..791be2e 100755 --- a/pull-all.sh +++ b/pull-all.sh @@ -1,9 +1,9 @@ #/bin/bash/ for dir in ./*/ ; do - ( cd "$dir" && echo "[Building $dir]" && docker compose build --pull ); + (cd "$dir" && echo "[$dir]" && docker compose build); done for dir in ./*/ ; do - ( cd "$dir" && echo "[Pulling $dir]" && docker compose pull --ignore-buildable ); + (cd "$dir" && echo "[$dir]" && docker compose pull); done diff --git a/start-all.sh b/start-all.sh index 666d0fe..834eba9 100755 --- a/start-all.sh +++ b/start-all.sh @@ -5,9 +5,9 @@ function up { (cd "$1" && echo "[$1]" && docker compose up -d "${@:2}"); } -up proxy --scale whoami=3; +up proxy; up monitoring; -up nextcloud --scale app=5 --scale web=3; +up nextcloud --scale app=3 --scale web=2; up gitea; up wallabag; up www;