Compose

version: "3.9"
services:
  pi-hole:
    container_name: pi-hole
    restart: always
    image: pihole/pihole:latest@sha256:774f55647070106d20787a65beaa4354cbd455c59f734f239fde544abd679928
    ports:
      - "8053:53/tcp"
      - "8053:53/udp"
      - "8067:67/udp"
      - "8080:80"
      - "8443:443"
    environment:
      TZ: ${TZ}
      WEBPASSWORD: ${WEBPASSWORD}
      # PROXY_LOCATION: ${PROXY_LOCATION}
      # VIRTUAL_HOST: ${VIRTUAL_HOST}
    volumes:
      - './data/etc-pihole/:/etc/pihole/'
      - './data/etc-dnsmasq.d/:/etc/dnsmasq.d/'

  homeassistant:
    container_name: homeassistant
    restart: unless-stopped
    image: ghcr.io/home-assistant/home-assistant:stable@sha256:221f67976a466544e9b9f2e6a8f51bcf1687e4800de602e0cf47bbcc5bdc5271
    ports:
      - "8123:8123"
    volumes:
      - './data/homeassistant:/config'
    environment:
      PUID: $PUID
      PGID: $PGID
      TZ: ${TZ}
    network_mode: host
  
  uptime-kuma:
    container_name: uptime-kuma
    restart: always
    image: louislam/uptime-kuma:latest@sha256:c326fd83d8da2d8fff3feb0e47433546139513bd823d9accc12977176b05b31f
    ports:
      - "3001:3001"
    volumes:
      - './data/uptime-kuma:/app/data'

  myspeed:
    container_name: myspeed
    restart: always
    image: germannewsmaker/myspeed:latest@sha256:ae5e8f79c76dc695a6bab86cf9a0a6ab0dcf8ebf4e7018e04c47e5af0200c847
    ports:
      - "5216:5216"
    volumes:
      - './data/myspeed:/app/data'

  nextcloud:
    container_name: nextcloud
    restart: always
    image: nextcloud:latest@sha256:00a5983ec3353ed71df9c6df644a84c3d8a88ac7b93d8f591fdcbb5eaa8fb459
    ports:
      - "10081:80"
      - "10443:443"
    volumes:
      - './data/nextcloud:/var/www/html'

  syncthing:
    container_name: syncthing
    restart: always
    image: linuxserver/syncthing:latest@sha256:154fecdd76be7e175c83ff2553c27f2bbb2b5dc2c14f6e7a7d540f267b2c803f
    ports:
      - "8384:8384"
      - "22000:22000"
      - "22000:22000/udp"
      - "21027:21027/udp"
    environment:
      PUID: $PUID
      PGID: $PGID
      TZ: ${TZ}
    volumes:
      - './data/syncthing:/config'
      - './files:/mnt/data'

  netbootxyz:
    container_name: netbootxyz
    restart: always
    image: ghcr.io/netbootxyz/netbootxyz:latest@sha256:9e37f3844ef348d0c17d1f8d111e63e1d7b6e98e4d14f25935e3f475b06c5994
    ports:
      - 3000:3000
      - 69:69/udp
    environment:
      PUID: $PUID
      PGID: $PGID
      TZ: ${TZ}
    volumes:
      - ./data/netbootxyz:/config

  # shlinkio:
  #   image: shlinkio/shlink:stable
  #   container_name: shlink
  #   restart: unless-stopped
  #   env_file: .env
  #   ports:
  #     - "8090:8080"

  # unbound:
  #   container_name: unbound
  #   restart: always
  #   image: mvance/unbound:latest@sha256:0bab19fde2ac5ae7432229ee7d13d0774b5aa4a717d619d6c27efee23df3f77a
  #   ports:
  #     - "53:53/tcp"
  #     - "53:53/udp"
  #   environment:
  #     TZ: ${TZ}
  #   volumes:
  #     - './data/unbound:/opt/unbound/etc/unbound'

  # wireguard:
  #   container_name: wireguard
  #   restart: always
  #   image: linuxserver/wireguard:latest@sha256:e06473827e0dca55e1a8d58770933759e62cd21812390df7918074b2bcb3713e
  #   cap_add:
  #     - NET_ADMIN
  #     - SYS_MODULE
  #   environment:
  #     PUID: $PUID
  #     PGID: $PGID
  #     TZ: ${TZ}
  #   volumes:
  #     - './data/wireguard:/config'
  #     - '/lib/modules:/lib/modules:ro'