Pihole 6 changelogs?

is their a place to find beta6/development-v6 changelogs per build? when i click the links on the bottom of pihole where it says update available it brings me to version 5.

They are running the merges for v6.0 nightly, and so I don't expect them to maintain a daily changelog. Perhaps there is some clever way in GitHub (or in a developer studio program) to see how the merges make the code evolve over time. I would recommend looking at the pull requests in GitHub to see what's coming.

1 Like

Commits · pi-hole/FTL · GitHub

cool thanks... as far as github works i can only git clone.... but if its under commits then that "update is complete" and will be pushed to the nightly update?

Correct. If you want, you can also build the docker image locally by cloning the repo and running something like:

docker buildx build src/. --tag [whatever you like] --no-cache

And then instead of pihole/pihole:development-v6, just refer to whatever you tagged the image as

the build idea is awesome.

can you tell me why this is not working

  pihole6:
    build:
      context: $DOCKER_DIR/builds/pihole6
      dockerfile: Dockerfile
      args:
        GIT_URL: https://github.com/pi-hole/docker-pi-hole
        GIT_REF: development-v6
    container_name: pihole6
    hostname: pihole6
    networks:
      mynet:
        ipv4_address: '172.23.0.253'
    ports:
      - "53:53/tcp"
      - "53:53/udp"
    environment:
      TZ: 'America/New_York'
      FTLCONF_dns_dnssec: 'True'
      PIHOLE_UID: 1000
      PIHOLE_GID: 1000
      DNSMASQ_USER: pihole
      FTLCONF_dns_upstreams: 'cloudflared#5054'
      FTLCONF_webserver_api_temp_unit: 'F'
      VIRTUAL_HOST: 'pihole6.example.dev'
      SKIPGRAVITYONBOOT: 1
    volumes:
      - '$DOCKER_DIR/pihole6:/etc/pihole'
      - '$DOCKER_DIR/pihole6/log:/var/log/pihole'
    restart: unless-stopped

im getting

[+] Building 0.1s (2/2) FINISHED                                                                         docker:default
 => [pihole6 internal] load .dockerignore                                                                          0.0s
 => => transferring context: 2B                                                                                    0.0s
 => [pihole6 internal] load build definition from Dockerfile                                                       0.0s
 => => transferring dockerfile: 2B                                                                                 0.0s
failed to solve: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount2109097490/Dockerfile: no such file or directory

The dockerfile is located at ./src/Dockerfile

git clone -b development-v6 https://github.com/pi-hole/docker-pi-hole.git .

[+] Building 0.3s (15/15) FINISHED                                                                       docker:default
 => [pihole6 internal] load build definition from Dockerfile                                                       0.0s
 => => transferring dockerfile: 2.93kB                                                                             0.0s
 => [pihole6 internal] load .dockerignore                                                                          0.0s
 => => transferring context: 2B                                                                                    0.0s
 => [pihole6 internal] load metadata for docker.io/library/alpine:3.18                                             0.2s
 => [pihole6 1/9] FROM docker.io/library/alpine:3.18@sha256:eece025e432126ce23f223450a0326fbebde39cdf496a85d8c016  0.1s
 => => resolve docker.io/library/alpine:3.18@sha256:eece025e432126ce23f223450a0326fbebde39cdf496a85d8c016293fc851  0.1s
 => CANCELED [pihole6] https://raw.githubusercontent.com/pi-hole/PADD/PADD_FTLv6/padd.sh                           0.0s
 => [pihole6 internal] load build context                                                                          0.0s
 => => transferring context: 2B                                                                                    0.0s
 => CANCELED [pihole6] https://ftl.pi-hole.net/macvendor.db                                                        0.0s
 => CACHED [pihole6 2/9] RUN apk add --no-cache     bash     bind-tools     binutils     coreutils     curl     g  0.0s
 => CACHED [pihole6 3/9] ADD https://ftl.pi-hole.net/macvendor.db /macvendor.db                                    0.0s
 => CACHED [pihole6 4/9] COPY crontab.txt /crontab.txt                                                             0.0s
 => CACHED [pihole6 5/9] ADD --chmod=0755 https://raw.githubusercontent.com/pi-hole/PADD/PADD_FTLv6/padd.sh /usr/  0.0s
 => CACHED [pihole6 6/9] RUN git clone --depth 1 --single-branch --branch development-v6 https://github.com/pi-ho  0.0s
 => CACHED [pihole6 7/9] RUN cd /etc/.pihole &&     install -Dm755 -d /opt/pihole &&     install -Dm755 -t /opt/p  0.0s
 => CACHED [pihole6 8/9] COPY --chmod=0755 bash_functions.sh /usr/bin/bash_functions.sh                            0.0s
 => ERROR [pihole6 9/9] COPY --chmod=0755 start.sh /usr/bin/start.sh                                               0.0s
------
 > [pihole6 9/9] COPY --chmod=0755 start.sh /usr/bin/start.sh:
------
failed to solve: failed to compute cache key: failed to calculate checksum of ref 13a2a7c5-5849-44b3-9a0d-4723501a1400::xgsk0ceoghr2ueojhgykraml7: "/start.sh": not found

maybe ill just wait for your builds lol

What if you just run this command in the directory?

i got it with docker compose but i had to copy everything in src to the root folder.

edit:
winner winner chicken dinner

  pihole6:
    build:
      context: $DOCKER_DIR/builds/pihole6/src
      dockerfile: $DOCKER_DIR/builds/pihole6/src/Dockerfile
      args:
        GIT_URL: https://github.com/pi-hole/docker-pi-hole.git
        GIT_REF: development-v6
    image: build_pihole6

still have to manually git pull the database though

To anyone who's curious found how to build it on demand straight from github with docker compose

  pihole6:
    build:
      context: https://github.com/pi-hole/docker-pi-hole.git#development-v6:/src
      no_cache: true

add all your volumes, env, ports, ect like you would normally

docker compose up -d --build

edit: added no_cache so it pull fresh everytime.

2 Likes

That's a pretty neat trick

Here is the specification for using a repo for the build context:

Information current as of 2023-10-15T07:00:00Z

Git repositories

When you pass a URL pointing to the location of a Git repository as an argument to docker build, the builder uses the repository as the build context.

The builder performs a shallow clone of the repository, downloading only the HEAD commit, not the entire history.

The builder recursively clones the repository and any submodules it contains.

$ docker build https://github.com/user/myrepo.git

By default, the builder clones the latest commit on the default branch of the repository that you specify.

URL fragments

You can append URL fragments to the Git repository address to make the builder clone a specific branch, tag, and subdirectory of a repository.

The format of the URL fragment is #ref:dir, where:

  • ref is the name of the branch, tag, or remote reference
  • dir is a subdirectory inside the repository

For example, the following command uses the container branch, and the docker subdirectory in that branch, as the build context:

$ docker build https://github.com/user/myrepo.git#container:docker

The following table represents all the valid suffixes with their build contexts:

Build Syntax Suffix Commit Used Build Context Used
myrepo.git refs/heads/<default branch> /
myrepo.git#mytag refs/tags/mytag /
myrepo.git#mybranch refs/heads/mybranch /
myrepo.git#pull/42/head refs/pull/42/head /
myrepo.git#:myfolder refs/heads/<default branch> /myfolder
myrepo.git#master:myfolder refs/heads/master /myfolder
myrepo.git#mytag:myfolder refs/tags/mytag /myfolder
myrepo.git#mybranch:myfolder refs/heads/mybranch /myfolder

does the github page update in sync with the docker hub? Or are commits immediate? I just pulled a fresh image and it says I still need to update
Pi-hole version is development-v6 96640ea (Latest: N/A)
web version is development-v6 6c3d45c (Latest: N/A)
FTL version is development-v6 vDev-78a424b (Latest: N/A)

You see a different issue here. Pi-hole failed to retrieve the latest versions from GitHub (yet). So the hash of the latest commit is empty and therefore different than the hash of the current local commit. The web interface interprets this as an available update. The fix will be part of Tweak and fix the update footer by yubiuser · Pull Request #2745 · pi-hole/web · GitHub

For now, try running pihole updatechecker within the container.

maybe this has to do with my github links not being able to resolv during the docker compose process. my dns is 127.0.0.1 for the container. is their an env variable to use loopback that i am missing. I also set the interface to accept on all.

from only the container itself i cant resolv dns its nameserver is 127.0.0.11 but if i change it to 127.0.0.1 in /etc/resolv everything is working.

❯ pihole updatechecker
fatal: unable to access 'GitHub - pi-hole/pi-hole: A black hole for Internet advertisements': Could not resolve host: github.com
fatal: unable to access 'GitHub - pi-hole/web: Pi-hole Dashboard for stats and more': Could not resolve host: github.com
fatal: unable to access 'GitHub - pi-hole/FTL: The Pi-hole FTL engine': Could not resolve host: github.com

You could try to set an external DNS server for the container in the compose file