Compare commits

..

No commits in common. "8b90f6ba4fd4f71c0ef4793b445c8c99d0557679" and "023fce30d38046869d64154e67dd6e4d519e6dfd" have entirely different histories.

6 changed files with 24 additions and 44 deletions

View File

@ -1,5 +1,8 @@
networks: networks:
metrics: minecraft:
driver: bridge
name: minecraft
grafana:
external: true external: true
traefik: traefik:
external: true external: true
@ -11,7 +14,7 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- traefik - traefik
- metrics - minecraft
ports: ports:
- "25567:25565" - "25567:25565"
volumes: volumes:
@ -44,7 +47,8 @@ services:
container_name: minecraft_creative container_name: minecraft_creative
restart: unless-stopped restart: unless-stopped
networks: networks:
- metrics - grafana
- minecraft
ports: ports:
- "25566:25565" - "25566:25565"
- "9226:9225" - "9226:9225"
@ -76,7 +80,8 @@ services:
container_name: minecraft_2023 container_name: minecraft_2023
networks: networks:
- traefik - traefik
- metrics - grafana
- minecraft
ports: ports:
- "25565:25565" - "25565:25565"
- "9225:9225" - "9225:9225"
@ -109,7 +114,7 @@ services:
image: itzg/minecraft-server:latest image: itzg/minecraft-server:latest
container_name: minecraft_skyblock container_name: minecraft_skyblock
networks: networks:
- metrics - minecraft
ports: ports:
- "25564:25565" - "25564:25565"
volumes: volumes:
@ -134,7 +139,7 @@ services:
image: joshi425/minecraft_exporter:latest image: joshi425/minecraft_exporter:latest
container_name: minecraft_2023_metrics container_name: minecraft_2023_metrics
networks: networks:
- metrics - minecraft
ports: ports:
- 2565:2565 - 2565:2565
volumes: volumes:

View File

@ -1,9 +0,0 @@
# Copy to .env and fill in. Docker Compose reads .env automatically.
# Public hostname Traefik routes to the Prometheus UI
PROMETHEUS_HOST=prometheus.whitney.rip
# Basic auth for the Prometheus UI, in htpasswd format (user:bcrypt-hash).
# Generate with: htpasswd -nbB admin 'your-password'
# Keep the single quotes so Compose doesn't treat the $ in the hash as variables.
PROMETHEUS_BASIC_AUTH='admin:$2y$05$replace_with_generated_hash'

View File

@ -1 +1,3 @@
.env olomana.ini
docker-compose.yml

View File

@ -6,9 +6,6 @@
Create/Fill in the following files in a `grafana` directory under this one using the templates. Create/Fill in the following files in a `grafana` directory under this one using the templates.
- `grafana.ini` - `grafana.ini`
- `prometheus.yml` - `prometheus.yml`
- `.env` (copy from `.env.example`; holds the Prometheus hostname and basic auth hash for Traefik)
Generate the basic auth value with `htpasswd -nbB admin 'your-password'` and paste it into `.env`, keeping the single quotes.
### Volumes ### Volumes
Make sure that in additionto mounting the 2 files above to their respective containers, grafana container has the following mount: Make sure that in additionto mounting the 2 files above to their respective containers, grafana container has the following mount:

View File

@ -1,7 +1,7 @@
networks: networks:
metrics: grafana-network:
driver: bridge driver: bridge
name: metrics name: grafana
traefik: traefik:
external: true external: true
minecraft: minecraft:
@ -13,17 +13,17 @@ volumes:
services: services:
grafana: grafana:
image: grafana/grafana image: grafana/grafana
user: "1003:1005" user: "USER:GROUP"
container_name: grafana container_name: grafana
restart: unless-stopped restart: unless-stopped
networks: networks:
- metrics - grafana-network
- traefik - traefik
volumes: volumes:
- ./grafana.ini:/etc/grafana/grafana.ini - ./grafana.ini:/etc/grafana/grafana.ini
- /pwspool/software/grafana:/var/lib/grafana - /pwspool/software/grafana:/var/lib/grafana
labels: labels:
- traefik.http.routers.grafana.rule=Host(`grafana.whitney.rip`) - traefik.http.routers.grafana.rule=Host(`SITE_URL`)
- traefik.http.routers.grafana.tls=true - traefik.http.routers.grafana.tls=true
- traefik.http.routers.grafana.tls.certresolver=lets-encrypt - traefik.http.routers.grafana.tls.certresolver=lets-encrypt
- traefik.http.services.grafana.loadbalancer.server.port=3000 - traefik.http.services.grafana.loadbalancer.server.port=3000
@ -34,10 +34,10 @@ services:
node_exporter: node_exporter:
image: quay.io/prometheus/node-exporter:latest image: quay.io/prometheus/node-exporter:latest
container_name: node_exporter container_name: node_exporter
user: "1003:1005" user: "USER:GROUP"
restart: unless-stopped restart: unless-stopped
networks: networks:
- metrics - grafana-network
pid: host pid: host
command: command:
- "--path.rootfs=/host" - "--path.rootfs=/host"
@ -45,16 +45,14 @@ services:
- "/:/host:ro,rslave" - "/:/host:ro,rslave"
depends_on: depends_on:
- prometheus - prometheus
labels:
- traefik.enable=false
prometheus: prometheus:
image: prom/prometheus:latest image: prom/prometheus:latest
container_name: prometheus container_name: prometheus
restart: always restart: always
networks: networks:
- metrics - grafana-network
- traefik - minecraft
volumes: volumes:
- "./prometheus.yml:/etc/prometheus.yml" - "./prometheus.yml:/etc/prometheus.yml"
- prometheus_data:/prometheus - prometheus_data:/prometheus
@ -63,13 +61,4 @@ services:
- "--storage.tsdb.path=/prometheus" - "--storage.tsdb.path=/prometheus"
- "--web.console.libraries=/usr/share/prometheus/console_libraries" - "--web.console.libraries=/usr/share/prometheus/console_libraries"
- "--web.console.templates=/usr/share/prometheus/consoles" - "--web.console.templates=/usr/share/prometheus/consoles"
labels:
- traefik.enable=true
- traefik.docker.network=traefik
- traefik.http.routers.prometheus.rule=Host(`${PROMETHEUS_HOST}`)
- traefik.http.routers.prometheus.tls=true
- traefik.http.routers.prometheus.tls.certresolver=lets-encrypt
- traefik.http.routers.prometheus.middlewares=prometheus-auth
- traefik.http.middlewares.prometheus-auth.basicauth.users=${PROMETHEUS_BASIC_AUTH}
- traefik.http.services.prometheus.loadbalancer.server.port=9090

View File

@ -15,8 +15,4 @@ scrape_configs:
scrape_interval: 5s scrape_interval: 5s
static_configs: static_configs:
- targets: ['minecraft_2023_metrics:2565'] - targets: ['minecraft_2023_metrics:2565']
- job_name: 'pws_news'
scrape_interval: 30s
metrics_path: /metrics
static_configs:
- targets: ['pws-news-backend:8000']