commit 193855b2b5f0357bc066c4d88fa85e9085f78a59 Author: chriswin Date: Mon Feb 9 01:04:26 2026 +0100 init config diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0c0d6eb --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ + # ignore ALL .log files +*.env +*.log + +# ignore submodules + +# ignore ALL files in ANY directory named temp +data/ +config/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.templates.yml b/docker-compose.templates.yml new file mode 100644 index 0000000..467b611 --- /dev/null +++ b/docker-compose.templates.yml @@ -0,0 +1,17 @@ +# While this file is not meant to be deployed directly it is used for "inheritance" of your sevices. +# Below you can see a service that I've called "default" which is used as a base definition for other services. +# It defines only the most common properties that I need. It does not have the 'image' for example as each extending service will have its own 'image'. +# Of course you can have more templates here or even 'extend' them from each other. +services: + default: + restart: unless-stopped + security_opt: + - no-new-privileges=true + environment: + TZ: ${TZ} + PUID: ${PUID} + PGID: ${PGID} + logging: + options: + max-size: "5m" + max-file: "3" \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..f5092d5 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,26 @@ +# center docker-compose file +# see https://github.com/labmonkey/docker-compose-project-example for more info + +# Here I will include all "child" docker compose files that I need. +# The paths can relative to this file or absolue. I've used INCLUDE_PATH variable to make it more cofigurable. +# Whenever I need to remove some service then I can comment out the lines here. +include: + - path: + - ${INCLUDE_PATH}/adguard/adguard.yml + env_file: ${INCLUDE_PATH}/.env + +networks: + private: + driver: bridge + name: private + ipam: + config: + - subnet: 10.5.0.0/16 + gateway: 10.5.0.1 + public: + driver: bridge + name: public + ipam: + config: + - subnet: 10.6.0.0/16 + gateway: 10.6.0.1 \ No newline at end of file diff --git a/project/adguard/adguard.yml b/project/adguard/adguard.yml new file mode 100644 index 0000000..5d86d04 --- /dev/null +++ b/project/adguard/adguard.yml @@ -0,0 +1,39 @@ +services: + adguardhome: + extends: + file: ${TEMPLATES_PATH} + service: default + image: adguard/adguardhome:latest + container_name: adguardhome + network_mode: host + #ports: + # DNS + # - 53:53/tcp + # - 53:53/udp + # # DHCP + # - 67:67/tcp + # - 1068:68/tcp + # - 1068:68/udp + # DNS-over-TLS + # - 853:853/udp + # DNS-over-HTTP + # - 80:80/tcp + # - 443:443/tcp + # - 443:443/udp + # Admin panel + # - 3000:3000/tcp + volumes: + - ${INCLUDE_PATH}/adguard/data:/opt/adguardhome/work + - ${INCLUDE_PATH}/adguard/config:/opt/adguardhome/conf + # labels: + # watchtower + # - "com.centurylinklabs.watchtower.enable=true" + # + # Traefik + # - "traefik.enable=true" + # - "traefik.http.routers.adguard.entrypoints=https" + # - "traefik.http.routers.adguard.rule=Host(`adguard.crescentec.xyz`)" + # - "traefik.http.services.adguard.loadbalancer.server.port=3000" + # - "traefik.http.routers.adguard.tls=true" + # - "traefik.http.routers.adguard.tls.certresolver=myresolver" + # - "traefik.http.routers.adguard.middlewares=authelia"