olomana/monolith/docker-compose.yml
2024-08-07 17:21:51 -07:00

107 lines
2.9 KiB
YAML

version: "3"
networks:
traefik:
driver: bridge
name: traefik
grafana:
driver: bridge
name: grafana
volumes:
prometheus_data: {}
services:
traefik:
image: traefik:latest
container_name: traefik
restart: unless-stopped
networks:
- traefik
ports:
- "80:80"
- "8080:8080"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./traefik/traefik.toml:/etc/traefik/traefik.toml
- ./traefik/traefik-dynamic.toml:/etc/traefik/dynamic/traefik-dynamic.toml
- ./traefik/acme.json:/etc/acme.json
code-server:
image: lscr.io/linuxserver/code-server:latest
container_name: code-server
restart: unless-stopped
networks:
- traefik
volumes:
- /pwspool/software/code-server/config:/config
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- HASHED_PASSWORD=$$argon2i$$v=19$$m=4096,t=3,p=1$$o70PqzdDrUvzijIN+Nd+uw$$8wsBelBomYLsaKFelBAf+v8KqpS7TMsfFvmouarbehg
- SUDO_PASSWORD_HASH=$$argon2i$$v=19$$m=4096,t=3,p=1$$o70PqzdDrUvzijIN+Nd+uw$$8wsBelBomYLsaKFelBAf+v8KqpS7TMsfFvmouarbehg
- PROXY_DOMAIN=code.whitney.rip
- DEFAULT_WORKSPACE=/config/workspace
labels:
- traefik.http.routers.code.rule=Host(`code.whitney.rip`)
- traefik.http.routers.code.tls=true
- traefik.http.routers.code.tls.certresolver=lets-encrypt
- traefik.http.services.code.loadbalancer.server.port=8443
grafana:
image: grafana/grafana
container_name: grafana
restart: unless-stopped
depends_on:
- node_exporter
- prometheus
networks:
- grafana
- traefik
user: "1003"
volumes:
- ./grafana/grafana.ini:/etc/grafana/grafana.ini
- /pwspool/software/grafana:/var/lib/grafana
labels:
- traefik.http.routers.grafana.rule=Host(`grafana.whitney.rip`)
- traefik.http.routers.grafana.tls=true
- traefik.http.routers.grafana.tls.certresolver=lets-encrypt
- traefik.http.services.grafana.loadbalancer.server.port=3000
node_exporter:
image: quay.io/prometheus/node-exporter:latest
container_name: node_exporter
restart: unless-stopped
depends_on:
- prometheus
networks:
- grafana
pid: host
user: "1003:1005"
command:
- "--path.rootfs=/host"
volumes:
- "/:/host:ro,rslave"
labels:
- traefik.enable=false
prometheus:
image: prom/prometheus:latest
container_name: prometheus
restart: unless-stopped
networks:
- grafana
volumes:
- "./grafana/prometheus.yml:/etc/prometheus.yml"
- prometheus_data:/prometheus
command:
- "--config.file=/etc/prometheus.yml"
- "--storage.tsdb.path=/prometheus"
- "--web.console.libraries=/usr/share/prometheus/console_libraries"
- "--web.console.templates=/usr/share/prometheus/consoles"
labels:
- traefik.enable=false