From c78d14e9e5b63fe0326a37d3f105e8d591fb29a7 Mon Sep 17 00:00:00 2001 From: jaydee Date: Mon, 3 Mar 2025 18:02:44 +0100 Subject: [PATCH] alias --- nginx/.env | 1 + nginx/docker-compose.yml | 52 +++++++++++++++++++++++++++ pihole/docker-compose.yml | 68 +++++++++++++++++++++++++++++++++++ watchtower/docker-compose.yml | 43 ++++++++++++++++++++++ 4 files changed, 164 insertions(+) create mode 100644 nginx/.env create mode 100644 nginx/docker-compose.yml create mode 100644 pihole/docker-compose.yml create mode 100644 watchtower/docker-compose.yml diff --git a/nginx/.env b/nginx/.env new file mode 100644 index 0000000..135fd32 --- /dev/null +++ b/nginx/.env @@ -0,0 +1 @@ +APPNAME=nginx diff --git a/nginx/docker-compose.yml b/nginx/docker-compose.yml new file mode 100644 index 0000000..e15563b --- /dev/null +++ b/nginx/docker-compose.yml @@ -0,0 +1,52 @@ +version: '3.8' +services: + app: + image: 'jc21/nginx-proxy-manager:latest' + restart: unless-stopped + #network_mode: host + healthcheck: + test: ["CMD", "/usr/bin/check-health"] + interval: 10s + timeout: 3s + ports: + #These ports are in format : + - '8099:80' # Public HTTP Port + - '4439:443' # Public HTTPS Port + - '81:81' # Admin Web Port + # Add any other Stream port you want to expose + # - '21:21' # FTP + + # Uncomment the next line if you uncomment anything in the section + # environment: + # Uncomment this if you want to change the location of + # the SQLite DB file within the container + # DB_SQLITE_FILE: "/data/database.sqlite" + + # Uncomment this if IPv6 is not enabled on your host + # DISABLE_IPV6: 'true' + + volumes: + - /share/docker_data/nginx/data:/data + - /share/docker_data/nginx/letsencrypt:/etc/letsencrypt + dns: + - 192.168.78.254 + networks: + - pihole_pihole + labels: + - homepage.group=Utilities + - homepage.name=Nginx + - homepage.weight=15 + - homepage.icon=${APPNAME}.png + - homepage.href=http://active.home.lan:81 + - homepage.description=Reverse Proxy + - homepage.server=my-docker + - homepage.container=nginx-app-1 + - homepage.widget.type=npm + - homepage.widget.url=http://active.home.lan:81 + - homepage.widget.username=jaydee@sectorq.eu + - homepage.widget.password=l4c1j4yd33Du5lo + #- homepage.widget.version=2 + +networks: + pihole_pihole: + external: true \ No newline at end of file diff --git a/pihole/docker-compose.yml b/pihole/docker-compose.yml new file mode 100644 index 0000000..16b1420 --- /dev/null +++ b/pihole/docker-compose.yml @@ -0,0 +1,68 @@ +--- +services: + pihole: + container_name: pihole + image: pihole/pihole:latest + hostname: m-server + ports: + # DNS Ports + - "53:53/tcp" + - "53:53/udp" + # Default HTTP Port + - "9380:80/tcp" + # Default HTTPs Port. FTL will generate a self-signed certificate + - "9343:443/tcp" + # Uncomment the below if using Pi-hole as your DHCP Server + #- "67:67/udp" + environment: + # Set the appropriate timezone for your location (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), e.g: + TZ: 'Europe/Bratislava' + # Set a password to access the web interface. Not setting one will result in a random password being assigned + FTLCONF_webserver_api_password: ${PASSWORD} + FTLCONF_dns_upstreams: 8.8.8.8;8.8.4.4 + FTLCONF_dns_listeningMode: all + # Volumes store your data between container upgrades + volumes: + # For persisting Pi-hole's databases and common configuration file + - '/share/docker_data/pihole/etc-pihole:/etc/pihole' + - '/share/docker_data/pihole/etc-dnsmasq.d:/etc/dnsmasq.d' + # Uncomment the below if you have custom dnsmasq config files that you want to persist. Not needed for most starting fresh with Pi-hole v6. If you're upgrading from v5 you and have used this directory before, you should keep it enabled for the first v6 container start to allow for a complete migration. It can be removed afterwards. Needs environment variable FTLCONF_misc_etc_dnsmasq_d: 'true' + #- './etc-dnsmasq.d:/etc/dnsmasq.d' + cap_add: + # See https://github.com/pi-hole/docker-pi-hole#note-on-capabilities + # Required if you are using Pi-hole as your DHCP server, else not needed + - NET_ADMIN + # Required if you are using Pi-hole as your NTP client to be able to set the host's system time + - SYS_TIME + # Optional, if Pi-hole should get some more processing time + - SYS_NICE + restart: unless-stopped + #network_mode: host + labels: + com.centurylinklabs.watchtower.enable: true + networks: + pihole: + ipv4_address: 192.168.78.254 +# orbital-sync: +# image: mattwebbio/orbital-sync:1 +# environment: +# PRIMARY_HOST_BASE_URL: 'http://192.168.77.101:9380' +# PRIMARY_HOST_PASSWORD: ${PASSWORD} +# #PRIMARY_HOST_PATH: /admin +# SECONDARY_HOSTS_1_BASE_URL: 'http://192.168.77.106:9380' +# SECONDARY_HOSTS_1_PASSWORD: ${PASSWORD} +# SECONDARY_HOSTS_1_PATH: /admin +# SECONDARY_HOSTS_2_BASE_URL: 'http://192.168.77.238:9380' +# SECONDARY_HOSTS_2_PASSWORD: ${PASSWORD} +# # SECONDARY_HOSTS_3_BASE_URL: 'http://server:8080' +# # SECONDARY_HOSTS_3_PASSWORD: 'your_password4' +# # SECONDARY_HOSTS_3_PATH: '/apps/pi-hole' +# INTERVAL_MINUTES: 60 + +networks: + pihole: # here we set the network name + driver: bridge + ipam: + driver: default + config: + - subnet: 192.168.78.0/24 \ No newline at end of file diff --git a/watchtower/docker-compose.yml b/watchtower/docker-compose.yml new file mode 100644 index 0000000..c665b6b --- /dev/null +++ b/watchtower/docker-compose.yml @@ -0,0 +1,43 @@ +version: "3" +services: + watchtower: + env_file: /data/wt.env + image: containrrr/watchtower:latest + command: --cleanup --label-enable --http-api-periodic-polls --http-api-metrics + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + environment: + WATCHTOWER_NOTIFICATIONS: "email shoutrrr" + WATCHTOWER_NOTIFICATION_EMAIL_FROM: "sectorq77@gmail.com" + WATCHTOWER_NOTIFICATION_EMAIL_TO: "jaydee@sectorq.eu" + WATCHTOWER_NOTIFICATION_EMAIL_SERVER: "smtp.gmail.com" + WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT: "465" + WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER: "sectorq77" + WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD: "uuhmmedfsjddmgbg" + WATCHTOWER_NOTIFICATION_EMAIL_DELAY: "2" + WATCHTOWER_NOTIFICATION_EMAIL_SUBJECTTAG: "NewUpdates" + + WATCHTOWER_NOTIFICATIONS_HOSTNAME: "M-SERVER" + WATCHTOWER_LABEL_ENABLE: "true" + WATCHTOWER_NOTIFICATIONS_LEVEL: "debug" + WATCHTOWER_LIFECYCLE_HOOKS: "true" + WATCHTOWER_POLL_INTERVAL: 43200 + WATCHTOWER_HTTP_API_TOKEN: l4c1j4yd33Du5lo + labels: + - com.centurylinklabs.watchtower.enable=true + - homepage.group=Utilities + - homepage.name=Watchtower + - homepage.weight=1 + - homepage.icon=watchtower.png + - homepage.href=http://192.168.77.101:8094 + - homepage.description=Docker container monitoring + - homepage.server=my-docker + - homepage.container=watchtower-watchtower-1 + - homepage.widget.type=watchtower + - homepage.widget.url=http://192.168.77.101:8094 + - homepage.widget.key=l4c1j4yd33Du5lo + ports: + - 8094:8080 + restart: always