Added new host 'mii' Added uptime kuma in docker Signed-off-by: TuDatTr <tuan-dat.tran@tudattr.dev>
240 lines
6.5 KiB
YAML
240 lines
6.5 KiB
YAML
version: '3'
|
|
services:
|
|
traefik:
|
|
container_name: traefik
|
|
image: traefik:latest
|
|
restart: unless-stopped
|
|
networks:
|
|
net: {}
|
|
volumes:
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
- "{{ traefik_config }}:/etc/traefik/"
|
|
- "{{ traefik_data }}:/var/log/"
|
|
ports:
|
|
- "{{ traefik_user_port}}:80"
|
|
- "{{ traefik_admin_port}}:8080"
|
|
|
|
db:
|
|
container_name: zoneminder_db
|
|
image: mariadb
|
|
restart: always
|
|
networks:
|
|
- zoneminder
|
|
volumes:
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "{{ zoneminder_db }}:/var/lib/mysql"
|
|
environment:
|
|
- "MYSQL_DATABASE={{ zoneminder_host }}"
|
|
- "MYSQL_ROOT_PASSWORD={{ vault_mysql_root_password }}"
|
|
- "MYSQL_USER={{ mysql_user }}"
|
|
- "MYSQL_PASSWORD={{ vault_mysql_user_password }}"
|
|
- "MAX_LOG_SIZE_BYTES=1000000"
|
|
- "MAX_LOG_NUMBER=20"
|
|
- "TZ=Europe/Berlin"
|
|
zoneminder:
|
|
container_name: zoneminder
|
|
image: ghcr.io/zoneminder-containers/zoneminder-base:latest
|
|
restart: always
|
|
stop_grace_period: 45s
|
|
depends_on:
|
|
- db
|
|
networks:
|
|
- zoneminder
|
|
- net
|
|
ports:
|
|
- "{{ zoneminder_port }}:80"
|
|
volumes:
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "{{ zoneminder_data }}:/data"
|
|
- "{{ zoneminder_config }}:/config"
|
|
- "{{ zoneminder_log}}:/log"
|
|
- type: tmpfs
|
|
target: /dev/shm
|
|
tmpfs:
|
|
size: 1000000000
|
|
environment:
|
|
- "MYSQL_DATABASE={{ zoneminder_host }}"
|
|
- "MYSQL_ROOT_PASSWORD={{ vault_mysql_root_password }}"
|
|
- "MYSQL_USER={{ mysql_user }}"
|
|
- "MYSQL_PASSWORD={{ vault_mysql_user_password }}"
|
|
- "MAX_LOG_SIZE_BYTES=1000000"
|
|
- "MAX_LOG_NUMBER=20"
|
|
- "TZ=Europe/Berlin"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.zoneminder.rule=Host(`{{ zoneminder_host}}.{{ aya01_host }}.{{ local_domain }}`)"
|
|
- "traefik.http.services.zoneminder.loadbalancer.server.port={{ 80 }}"
|
|
|
|
pihole:
|
|
container_name: pihole
|
|
image: pihole/pihole:latest
|
|
restart: unless-stopped
|
|
networks:
|
|
- net
|
|
ports:
|
|
- "53:53/tcp"
|
|
- "53:53/udp"
|
|
- "67:67/udp"
|
|
- "{{ pihole_port }}:80/tcp"
|
|
volumes:
|
|
- "/etc/localtime:/etc/localtime:ro"
|
|
- "{{ pihole_config }}:/etc/pihole/"
|
|
- "{{ pihole_dnsmasq }}:/etc/dnsmasq.d/"
|
|
environment:
|
|
- "WEBPASSWORD={{ vault_aya01_pihole_password }}"
|
|
- "ServerIP={{aya01_ip}}"
|
|
- "INTERFACE=eth0"
|
|
- "DNS1=1.1.1.1"
|
|
- "DNS1=1.0.0.1"
|
|
dns:
|
|
- 127.0.0.1
|
|
- 1.1.1.1
|
|
cap_add:
|
|
- NET_ADMIN
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.pihole.rule=Host(`{{ pihole_host }}.{{ aya01_host }}.{{ local_domain }}`)"
|
|
- "traefik.http.services.pihole.loadbalancer.server.port={{ 80 }}"
|
|
|
|
fyncthing:
|
|
container_name: syncthing
|
|
image: syncthing/syncthing
|
|
restart: unless-stopped
|
|
networks:
|
|
- net
|
|
ports:
|
|
- "{{ syncthing_port }}:8384" # Web UI
|
|
- 22000:22000/tcp # TCP file transfers
|
|
- 22000:22000/udp # QUIC file transfers
|
|
- 21027:21027/udp # Receive local discovery broadcasts
|
|
volumes:
|
|
- "{{syncthing_data}}:/var/syncthing"
|
|
environment:
|
|
- "PUID={{ puid }}"
|
|
- "PGID={{ pgid }}"
|
|
hostname: syncthing
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.syncthing.rule=Host(`{{ syncthing_host }}.{{ aya01_host }}.{{ local_domain }}`)"
|
|
- "traefik.http.services.syncthing.loadbalancer.server.port={{ syncthing_port }}"
|
|
|
|
# grafana:
|
|
# container_name: grafana
|
|
# image: grafana/grafana-oss
|
|
# restart: unless-stopped
|
|
# user: "{{ puid }}:{{ pgid }}"
|
|
# networks:
|
|
# - net
|
|
# ports:
|
|
# - 3000:3000
|
|
# volumes:
|
|
# - "{{ grafana_data }}:/var/lib/grafana/"
|
|
# - "{{ grafana_log }}:/var/log/grafana/"
|
|
# environment:
|
|
# - "GF_LOG_MODE=console file"
|
|
# hostname: grafana
|
|
|
|
soft-serve:
|
|
container_name: soft-serve
|
|
image: charmcli/soft-serve:latest
|
|
restart: unless-stopped
|
|
networks:
|
|
- net
|
|
ports:
|
|
- 23231:23231 # ssh
|
|
volumes:
|
|
- "{{ softserve_data }}:/soft-serve"
|
|
|
|
# prometheus:
|
|
# container_name: prometheus
|
|
# image: prom/prometheus
|
|
# restart: unless-stopped
|
|
# networks:
|
|
# - net
|
|
# ports:
|
|
# - "{{ prm_port }}:9090"
|
|
# volumes:
|
|
# - "{{ prm_config }}:/etc/prometheus"
|
|
|
|
# exporter_mikrotik:
|
|
# container_name: exporter_mikrotik
|
|
# image: "nshttpd/mikrotik-exporter:{{ e_mikrotik_version }}"
|
|
# restart: unless-stopped
|
|
# user: "{{ puid }}:{{ pgid }}"
|
|
# networks:
|
|
# - net
|
|
# ports:
|
|
# - "{{ e_mikrotik_port }}:9436"
|
|
# volumes:
|
|
# - "{{ e_mikrotik_config }}:/config"
|
|
# environment:
|
|
# - "CONFIG_FILE=/config/config.yml"
|
|
|
|
# netdata:
|
|
# container_name: netdata
|
|
# image: netdata/netdata
|
|
# restart: unless-stopped
|
|
# networks:
|
|
# - net
|
|
# ports:
|
|
# - "{{netdata_port}}:19999"
|
|
# volumes:
|
|
# - "{{netdata_config}}:/etc/netdata"
|
|
# - "{{netdata_lib}}:/var/lib/netdata"
|
|
# - "{{netdata_cache}}:/var/cache/netdata"
|
|
# - /etc/passwd:/host/etc/passwd:ro
|
|
# - /etc/group:/host/etc/group:ro
|
|
# - /proc:/host/proc:ro
|
|
# - /sys:/host/sys:ro
|
|
# - /etc/os-release:/host/etc/os-release:ro
|
|
# environment:
|
|
# - "DO_NOT_TRACK=1"
|
|
# cap_add:
|
|
# - SYS_PTRACE
|
|
# security_opt:
|
|
# - apparmor:unconfined
|
|
# hostname: "{{ aya01_host }}"
|
|
|
|
cupsd:
|
|
container_name: cupsd
|
|
image: olbat/cupsd
|
|
restart: unless-stopped
|
|
networks:
|
|
- net
|
|
ports:
|
|
- "{{cupsd_port}}:631"
|
|
volumes:
|
|
- /var/run/dbus:/var/run/dbus
|
|
- "{{cupsd_config}}:/etc/cups"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.cupsd.rule=Host(`{{ cupsd_host }}.{{ aya01_host }}.{{local_domain}}`)"
|
|
- "traefik.http.services.cupsd.loadbalancer.server.port={{ cupsd_port }}"
|
|
|
|
kuma:
|
|
container_name: kuma
|
|
image: louislam/uptime-kuma:1
|
|
restart: always
|
|
networks:
|
|
- net
|
|
ports:
|
|
- "{{ kuma_port }}:3001"
|
|
volumes:
|
|
- "{{ kuma_config }}:/app/data"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.kuma.rule=Host(`{{ kuma_host }}.{{ aya01_host }}.{{local_domain}}`)"
|
|
- "traefik.http.services.kuma.loadbalancer.server.port={{ kuma_port }}"
|
|
|
|
networks:
|
|
zoneminder:
|
|
net:
|
|
driver: bridge
|
|
ipam:
|
|
driver: default
|
|
config:
|
|
- subnet: 172.16.69.0/24
|
|
ip_range: 172.28.69.0/24
|
|
gateway: 172.16.69.1
|