Added new environment for the actual network implementation. Most YML files are combinations from individual compose files
This commit is contained in:
@@ -0,0 +1,78 @@
|
|||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
#volumes:
|
||||||
|
# pihole:
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
pihole:
|
||||||
|
image: pihole/pihole:latest
|
||||||
|
container_name: "mason-ph"
|
||||||
|
hostname: "pihole"
|
||||||
|
# user: "root:root"
|
||||||
|
ports:
|
||||||
|
- "53:53/udp"
|
||||||
|
- "53:53/tcp"
|
||||||
|
- "80:80"
|
||||||
|
# - target: 53
|
||||||
|
# published: 53
|
||||||
|
# protocol: tcp
|
||||||
|
# - target: 53
|
||||||
|
# published: 53
|
||||||
|
# protocol: udp
|
||||||
|
# - target: 80
|
||||||
|
# published: 8053
|
||||||
|
# protocol: tcp
|
||||||
|
# network_mode: "host"
|
||||||
|
volumes:
|
||||||
|
- type: bind
|
||||||
|
source: /pihole_data
|
||||||
|
target: /etc/pihole
|
||||||
|
# - pihole:/etc/pihole
|
||||||
|
# - "/home/ansible/stacks/lighttpd/external.conf:/etc/lighttpd/external.conf"
|
||||||
|
# - dnsmasq:/etc/dnsmasq.d
|
||||||
|
# depends_on:
|
||||||
|
# - cloudflared
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
TZ: Europe/Amsterdam
|
||||||
|
# - "DNS1=1.1.1.1"
|
||||||
|
# - "REV_SERVER=true"
|
||||||
|
# - "REV_SERVER_CIDR=192.168.1.0/24" #Update these fields to match your environment
|
||||||
|
# - "REV_SERVER_TARGET=192.168.1.1"
|
||||||
|
# - "REV_SERVER_DOMAIN=home.local"
|
||||||
|
WEBPASSWORD: 'password'
|
||||||
|
# networks:
|
||||||
|
# - web
|
||||||
|
# deploy:
|
||||||
|
# mode: global
|
||||||
|
# replicas: 1
|
||||||
|
# placement:
|
||||||
|
# constraints:
|
||||||
|
# - "node.labels.dns==true"
|
||||||
|
|
||||||
|
pihole_exporter:
|
||||||
|
image: ekofr/pihole-exporter
|
||||||
|
container_name: pihole_exporter
|
||||||
|
expose:
|
||||||
|
- 9617
|
||||||
|
environment:
|
||||||
|
PIHOLE_HOSTNAME: pihole
|
||||||
|
# PIHOLE_PORT: 8053
|
||||||
|
PIHOLE_PASSWORD: password
|
||||||
|
INTERVAL: 30s
|
||||||
|
PORT: 9617
|
||||||
|
restart: always
|
||||||
|
# deploy:
|
||||||
|
# labels:
|
||||||
|
# - "traefik.enable=false"
|
||||||
|
# mode: replicated
|
||||||
|
# replicas: 1
|
||||||
|
# placement:
|
||||||
|
# constraints:
|
||||||
|
# - "node.hostname==swarm-master"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
web:
|
||||||
|
# external: true
|
||||||
|
name: web
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
version: "3.7"
|
||||||
|
|
||||||
|
#volumes:
|
||||||
|
# pihole:
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
pihole:
|
||||||
|
image: pihole/pihole:latest
|
||||||
|
container_name: "phil-ph"
|
||||||
|
hostname: "pihole"
|
||||||
|
# user: "root:root"
|
||||||
|
ports:
|
||||||
|
- "53:53/udp"
|
||||||
|
- "53:53/tcp"
|
||||||
|
- "80:80"
|
||||||
|
# - target: 53
|
||||||
|
# published: 53
|
||||||
|
# protocol: tcp
|
||||||
|
# - target: 53
|
||||||
|
# published: 53
|
||||||
|
# protocol: udp
|
||||||
|
# - target: 80
|
||||||
|
# published: 8053
|
||||||
|
# protocol: tcp
|
||||||
|
# network_mode: "host"
|
||||||
|
volumes:
|
||||||
|
- type: bind
|
||||||
|
source: /pihole_data
|
||||||
|
target: /etc/pihole
|
||||||
|
# - pihole:/etc/pihole
|
||||||
|
# - "/home/ansible/stacks/lighttpd/external.conf:/etc/lighttpd/external.conf"
|
||||||
|
# - dnsmasq:/etc/dnsmasq.d
|
||||||
|
# depends_on:
|
||||||
|
# - cloudflared
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
TZ: Europe/Amsterdam
|
||||||
|
# - "DNS1=1.1.1.1"
|
||||||
|
# - "REV_SERVER=true"
|
||||||
|
# - "REV_SERVER_CIDR=192.168.1.0/24" #Update these fields to match your environment
|
||||||
|
# - "REV_SERVER_TARGET=192.168.1.1"
|
||||||
|
# - "REV_SERVER_DOMAIN=home.local"
|
||||||
|
WEBPASSWORD: 'password'
|
||||||
|
# networks:
|
||||||
|
# - web
|
||||||
|
# deploy:
|
||||||
|
# mode: global
|
||||||
|
# replicas: 1
|
||||||
|
# placement:
|
||||||
|
# constraints:
|
||||||
|
# - "node.labels.dns==true"
|
||||||
|
|
||||||
|
pihole_exporter:
|
||||||
|
image: ekofr/pihole-exporter
|
||||||
|
container_name: pihole_exporter
|
||||||
|
expose:
|
||||||
|
- 9617
|
||||||
|
environment:
|
||||||
|
PIHOLE_HOSTNAME: pihole
|
||||||
|
# PIHOLE_PORT: 8053
|
||||||
|
PIHOLE_PASSWORD: password
|
||||||
|
INTERVAL: 30s
|
||||||
|
PORT: 9617
|
||||||
|
restart: always
|
||||||
|
# deploy:
|
||||||
|
# labels:
|
||||||
|
# - "traefik.enable=false"
|
||||||
|
# mode: replicated
|
||||||
|
# replicas: 1
|
||||||
|
# placement:
|
||||||
|
# constraints:
|
||||||
|
# - "node.hostname==swarm-master"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
web:
|
||||||
|
# external: true
|
||||||
|
name: web
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
version: '3'
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
registrystorage:
|
||||||
|
driver_opts:
|
||||||
|
type: nfs
|
||||||
|
o: addr=dockerstorage,nfsvers=4
|
||||||
|
device: :/dockerstorage/registry
|
||||||
|
registryauth:
|
||||||
|
driver_opts:
|
||||||
|
type: nfs
|
||||||
|
o: addr=dockerstorage,nfsvers=4
|
||||||
|
device: :/dockerstorage/registry/auth
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
services:
|
||||||
|
registry:
|
||||||
|
image: registry:2
|
||||||
|
volumes:
|
||||||
|
- registryauth:/auth
|
||||||
|
- registrystorage:/var/lib/registry
|
||||||
|
environment:
|
||||||
|
- REGISTRY_AUTH=htpasswd
|
||||||
|
- REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm
|
||||||
|
- REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd
|
||||||
|
- VIRTUAL_HOST=registry.vbchaos.nl
|
||||||
|
- VIRTUAL_PORT=5000
|
||||||
|
- VIRTUAL_PROTO=http
|
||||||
|
ports:
|
||||||
|
- '5000:5000'
|
||||||
|
|
||||||
|
registrybrowser:
|
||||||
|
image: klausmeyer/docker-registry-browser
|
||||||
|
ports:
|
||||||
|
- 8082:8080
|
||||||
|
environment:
|
||||||
|
- 'DOCKER_REGISTRY_URL=https://registry.vbchaos.nl'
|
||||||
|
- 'PUBLIC_REGISTRY_URL=registry.vbchaos.nl'
|
||||||
|
- 'NO_SSL_VERIFICATION=true'
|
||||||
|
- 'ENABLE_DELETE_IMAGES=true'
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
version: '3.8'
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
prometheus_data:
|
||||||
|
driver_opts:
|
||||||
|
type: nfs
|
||||||
|
o: addr=dockerstorage,nfsvers=4
|
||||||
|
device: :/grafana_prometheus_data
|
||||||
|
|
||||||
|
grafana_data:
|
||||||
|
driver_opts:
|
||||||
|
type: nfs
|
||||||
|
o: addr=dockerstorage,nfsvers=4
|
||||||
|
device: :/dockerstorage/grafana/grafana
|
||||||
|
|
||||||
|
loki_data:
|
||||||
|
driver_opts:
|
||||||
|
type: nfs
|
||||||
|
o: addr=dockerstorage,nfsvers=4
|
||||||
|
device: :/dockerstorage/grafana/loki
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
loki:
|
||||||
|
image: grafana/loki:2.6.1
|
||||||
|
user: "0:0"
|
||||||
|
volumes:
|
||||||
|
- loki_data:/loki
|
||||||
|
ports:
|
||||||
|
- "3100:3100"
|
||||||
|
command: -config.file=/etc/loki/local-config.yaml
|
||||||
|
|
||||||
|
promtail:
|
||||||
|
image: grafana/promtail:2.6.1
|
||||||
|
user: "0:0"
|
||||||
|
volumes:
|
||||||
|
- /var/log:/var/log
|
||||||
|
command: -config.file=/etc/promtail/config.yml
|
||||||
|
|
||||||
|
prometheus:
|
||||||
|
user: "0:0"
|
||||||
|
hostname: prometheus
|
||||||
|
image: prom/prometheus
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Berlin #change Time Zone if needed
|
||||||
|
configs:
|
||||||
|
- source: prometheus_config
|
||||||
|
target: /etc/prometheus/prometheus.yml
|
||||||
|
volumes:
|
||||||
|
- prometheus_data:/prometheus
|
||||||
|
command:
|
||||||
|
- '--config.file=/etc/prometheus/prometheus.yml'
|
||||||
|
ports:
|
||||||
|
- 9090:9090
|
||||||
|
|
||||||
|
grafana:
|
||||||
|
user: "0:0"
|
||||||
|
hostname: grafana
|
||||||
|
image: grafana/grafana
|
||||||
|
depends_on:
|
||||||
|
- influx
|
||||||
|
environment:
|
||||||
|
- TZ=Europe/Amsterdam
|
||||||
|
configs:
|
||||||
|
- source: grafana_config
|
||||||
|
target: /etc/grafana/grafana.ini
|
||||||
|
volumes:
|
||||||
|
- grafana_data:/var/lib/grafana
|
||||||
|
ports:
|
||||||
|
- 3300:3000
|
||||||
|
|
||||||
|
node-exporter:
|
||||||
|
image: prom/node-exporter:latest
|
||||||
|
deploy:
|
||||||
|
mode: global
|
||||||
|
volumes:
|
||||||
|
- /proc:/host/proc:ro
|
||||||
|
- /sys:/host/sys:ro
|
||||||
|
- /:/rootfs:ro
|
||||||
|
command:
|
||||||
|
- '--path.procfs=/host/proc'
|
||||||
|
- '--path.rootfs=/rootfs'
|
||||||
|
- '--path.sysfs=/host/sys'
|
||||||
|
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
|
||||||
|
ports:
|
||||||
|
- "9100:9100"
|
||||||
|
|
||||||
|
tado-exporter:
|
||||||
|
user: "1000:1000"
|
||||||
|
image: registry.vbchaos.nl/tado-exporter:arm64
|
||||||
|
hostname: tado-exporter
|
||||||
|
|
||||||
|
environment:
|
||||||
|
EXPORTER_USERNAME: matthias.mitscherlich@gmail.com
|
||||||
|
EXPORTER_PASSWORD: 14Mai1984
|
||||||
|
|
||||||
|
ports:
|
||||||
|
- "9898:9898"
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
version: '3.2'
|
||||||
|
|
||||||
|
services:
|
||||||
|
agent:
|
||||||
|
image: portainer/agent:2.19.4
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- /var/lib/docker/volumes:/var/lib/docker/volumes
|
||||||
|
networks:
|
||||||
|
- agent_network
|
||||||
|
deploy:
|
||||||
|
mode: global
|
||||||
|
placement:
|
||||||
|
constraints: [node.platform.os == linux]
|
||||||
|
|
||||||
|
portainer:
|
||||||
|
image: portainer/portainer-ce:2.19.4
|
||||||
|
command: -H tcp://tasks.agent:9001 --tlsskipverify
|
||||||
|
ports:
|
||||||
|
- "9443:9443"
|
||||||
|
- "9000:9000"
|
||||||
|
- "8000:8000"
|
||||||
|
volumes:
|
||||||
|
- portainer_data:/data
|
||||||
|
networks:
|
||||||
|
- agent_network
|
||||||
|
deploy:
|
||||||
|
mode: replicated
|
||||||
|
replicas: 1
|
||||||
|
placement:
|
||||||
|
constraints: [node.role == manager]
|
||||||
|
|
||||||
|
networks:
|
||||||
|
agent_network:
|
||||||
|
driver: overlay
|
||||||
|
attachable: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
portainer_data:
|
||||||
Executable
+1
@@ -0,0 +1 @@
|
|||||||
|
docker stack deploy -c grafana.yml --with-registry-auth tado-exporter
|
||||||
Reference in New Issue
Block a user