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 depends_on: - traefik 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: - traefik - 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 homepage: image: homepage container_name: homepage build: homepage/ restart: unless-stopped depends_on: - traefik networks: - traefik ports: - "81:80" labels: - traefik.http.routers.homepage.rule=Host(`www.whitney.rip`) - traefik.http.routers.homepage.tls=true - traefik.http.routers.homepage.tls.certresolver=lets-encrypt - traefik.http.services.homepage.loadbalancer.server.port=81 nordlynx: image: ghcr.io/bubuntux/nordlynx container_name: nordlynx restart: unless-stopped network_mode: bridge cap_add: - NET_ADMIN - NET_RAW environment: - PRIVATE_KEY=mDnVa4EMbnlSF8Sg/i657hf+NRyWQxQjKTwkImD/HWE= - NET_LOCAL=192.168.1.0/24 - TZ=America/Los_Angeles - QUERY=filters\[country_id\]=202 ports: - "8888:8888" - 6881:6881 - 6881:6881/udp labels: - traefik.enable=false qb: image: ghcr.io/linuxserver/qbittorrent:latest container_name: qb restart: unless-stopped depends_on: - nordlynx network_mode: service:nordlynx environment: - PUID=1001 - PGID=1001 - WEBUI_PORT=8888 volumes: - /data/write/qb/appdata/config:/config - /data/write/qb/downloads:/downloads labels: - traefik.enable=false