# 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:
      - ${DB_PATH}/adminer/adminer.yml
      - ${DB_PATH}/databasus/databasus.yml
      - ${DB_PATH}/lldap/lldap.yml
      - ${DB_PATH}/mariadb/mariadb.yml
      - ${DB_PATH}/postgres/postgres.yml
      - ${DB_PATH}/pgadmin/pgadmin.yml
      - ${DB_PATH}/redis/redis.yml
    env_file: ${DB_PATH}/.env

  - path:
      - ${INFRA_PATH}/authelia/authelia.yml
      - ${INFRA_PATH}/homepage/homepage.yml
      - ${INFRA_PATH}/ntfy/ntfy.yml
      - ${INFRA_PATH}/speedtest/speedtest.yml
      - ${INFRA_PATH}/syncthing/syncthing.yml
      - ${INFRA_PATH}/traefik/traefik.yml
      - ${INFRA_PATH}/uptime-kuma/uptime-kuma.yml
    env_file: ${INFRA_PATH}/.env

  - path:
      - ${MONITORING_PATH}/dozzle/dozzle.yml
      - ${MONITORING_PATH}/grafana/grafana.yml
      - ${MONITORING_PATH}/loki/loki.yml
      - ${MONITORING_PATH}/prometheus/prometheus.yml
    env_file: ${MONITORING_PATH}/.env

  - path:
      - ${MEDIA_PATH}/audiobookshelf/audiobookshelf.yml
      - ${MEDIA_PATH}/calibre/calibre.yml
      - ${MEDIA_PATH}/immich/immich.yml
      - ${MEDIA_PATH}/kiwix/kiwix.yml
      - ${MEDIA_PATH}/lidarr/lidarr.yml
      - ${MEDIA_PATH}/navidrome/navidrome.yml
      - ${MEDIA_PATH}/prowlarr/prowlarr.yml
      - ${MEDIA_PATH}/qbittorrent/qbittorrent.yml
      - ${MEDIA_PATH}/readarr/readarr.yml
      - ${MEDIA_PATH}/slskd/slskd.yml
      - ${MEDIA_PATH}/soularr/soularr.yml
    env_file: ${MEDIA_PATH}/.env

  - path:
      - ${SERVICE_PATH}/freshrss/freshrss.yml
      - ${SERVICE_PATH}/gitea/gitea.yml
      - ${SERVICE_PATH}/home-assistant/home-assistant.yml
      - ${SERVICE_PATH}/ghost/ghost.yml
      - ${SERVICE_PATH}/it-tools/it-tools.yml
      - ${SERVICE_PATH}/jupyter-notebook/jupyter-notebook.yml
      - ${SERVICE_PATH}/linkwarden/linkwarden.yml
      - ${SERVICE_PATH}/mealie/mealie.yml
      - ${SERVICE_PATH}/n8n/n8n.yml
      # - ${SERVICE_PATH}/ollama/ollama.yml
      - ${SERVICE_PATH}/paperless-ngx/paperless-ngx.yml
      - ${SERVICE_PATH}/radicale/radicale.yml
      - ${SERVICE_PATH}/pdf/pdf.yml
      - ${SERVICE_PATH}/vaultwarden/vaultwarden.yml
      - ${SERVICE_PATH}/vikunja/vikunja.yml
    env_file: ${SERVICE_PATH}/.env

networks:
  ip4net:
    driver: bridge
    name: ip4net
    ipam:
      config:
        - subnet: 10.6.0.0/16
  ip6net:
    driver: bridge
    name: ip6net
    enable_ipv6: true
    ipam:
      driver: default
      # config:
      #   # - subnet: "2a04:ee41:86:9397::/64"
      #   - subnet: "2001:db8:2:/64"
      #   - gateway: "2001:db8:2::1"
