Releases: pi-hole/docker-pi-hole
2025.03.0
This tag should fix issues seen on some Synology devices with older kernels - if you were previously running the special :synology-crash
tag, you may now switch back to mainline releases.
What's Changed (Docker Specific)
- Reintroduce missed docker secret handling (Redo) by @PromoFaux in #1750
- WEBPASSWORD_FILE is mounted to /run/secrets by @yubiuser in #1758
- Honor configured DNS port for docker health check by @yubiuser in #1746
- Add NTP port to docker compose example & Dockerfile by @casperklein in #1768
- Update test docker container to Alpine 3.21 and docker_cli 28.0.0. by @yubiuser in #1760
Full Changelog: 2025.02.7...2025.03.0
This release also incorporates changes from the core components
What's Changed (FTL 6.0.4)
- Add webhome validator by @DL6ER in pi-hole/FTL#2276
- Also validate env variables by @DL6ER in pi-hole/FTL#2294
- Prevent crash on failure to source secure randomness by @DL6ER in pi-hole/FTL#2300
- Update embedded CivetWeb by @DL6ER in pi-hole/FTL#2312
- Change default value of webserver.threads to 50 by @DL6ER in pi-hole/FTL#2305
- Avoid CivetWeb crash if no optional port could be bound by @DL6ER in pi-hole/FTL#2313
- Empty DHCP range is valid by @DL6ER in pi-hole/FTL#2314
- Undo optimization attempts for sqlite3 by @DL6ER in pi-hole/FTL#2321
- Fix first-time IPv6 client name resolution by @DL6ER in pi-hole/FTL#2310
- Fix API_EXCLUDE_DOMAINS migration by @DL6ER in pi-hole/FTL#2311
- Update embedded dnsmasq by @DL6ER in pi-hole/FTL#2323
- Tweak misc.etc_dnsmasq_d help text and scope - only read *.conf files by @DL6ER in pi-hole/FTL#2309
- Increase niceness of CivetWeb threads by @DL6ER in pi-hole/FTL#2326
Full Changelog: pi-hole/FTL@v6.0.3...v6.0.4
What's Changed (Web 6.0.2
- Accept tabs inside dns.hosts and strip possible trailing comments by @DL6ER in pi-hole/web#3241
- Regenerate package-lock.json with npm 10.8.2 by @XhmikosR in pi-hole/web#3247
- Improve image compression by @XhmikosR in pi-hole/web#3244
- Improve info text on Settings > DNS by @yubiuser in pi-hole/web#3245
- Save the state of the query log table infinitely by @yubiuser in pi-hole/web#3253
- Update hammer.min.js and include map by @yubiuser in pi-hole/web#3254
- Remove the hard-coded time range from graphic titles by @rdwebdesign in pi-hole/web#3256
- Softens the insecure warning on the HTTP login page a bit by @yubiuser in pi-hole/web#3258
- Show the interface name in Settings > DNS page by @rdwebdesign in pi-hole/web#3265
- Add a hidden column to the network table to allow filtering by hostnames by @rdwebdesign in pi-hole/web#3264
- Fix total query tooltip on dahboard by @yubiuser in pi-hole/web#3266
- Fix the insertion of multiple domains as wildcard by @rdwebdesign in pi-hole/web#3259
- Use margin-right instead of spaces after dnssec icon in Query Log by @rdwebdesign in pi-hole/web#3267
- Improve memory unit selection for devices with less than 1 GB of RAM by @DL6ER in pi-hole/web#3270
- Use singular if we have one core by @XhmikosR in pi-hole/web#3276
Full Changelog: pi-hole/web@v6.0.1...v6.0.2
What's Changed (Core 6.0.5)
- If there are no files to change, don't print an error by @yubiuser in pi-hole/pi-hole#5953
- Improve dig error handlin in api.sh by @yubiuser in pi-hole/pi-hole#5965
- Add missing trailing / when setting permissions of /etc/pihole by @yubiuser in pi-hole/pi-hole#5997
- Update README.md - Fix Text+URL for allowlisting/denylisting by @jeroenhabets in pi-hole/pi-hole#5993
- Do not hide error messages when dealing with services by @MichaIng in pi-hole/pi-hole#5983
- Do not overwrite TLS cert/key mode by @MichaIng in pi-hole/pi-hole#5998
- Remove 'reconfigure' option by @yubiuser in pi-hole/pi-hole#5887
- Removing kernel check based on discussion in Pi-Hole PR pi-hole#5957. by @UltChowsk in pi-hole/pi-hole#6020
- Improve update/fresh install detection by @PromoFaux in pi-hole/pi-hole#6034
- Fix find command syntax, remove log dir from search by @jacklul in pi-hole/pi-hole#6035
- Fix gravity.sh -- Alpine / Docker specific issue by @karolkania in pi-hole/pi-hole#6030
- Pi-hole Core v6.0.5 by @PromoFaux in pi-hole/pi-hole#6042
New Contributors
- @jeroenhabets made their first contribution in pi-hole/pi-hole#5993
- @UltChowsk made their first contribution in pi-hole/pi-hole#6020
- @karolkania made their first contribution in pi-hole/pi-hole#6030
Full Changelog: pi-hole/pi-hole@v6.0.4...v6.0.5
2025.02.7
What's Changed (Docker Specific)
Full Changelog: 2025.02.3...2025.02.7
What's Changed (FTL 6.0.3)
- Do not try to migrate setupVars.conf if it does not exist. by @DL6ER in pi-hole/FTL#2238
- Fix CLI command for non-local API configuration by @DL6ER in pi-hole/FTL#2233
- Clarify the role of dns.domain outside of the DHCP context by @DL6ER in pi-hole/FTL#2239
- Reduce log level for web requests by @bennettmsherman in pi-hole/FTL#2244
- Improve secure randomness generation by @DL6ER in pi-hole/FTL#2240
- Fix typo in dns.showDNSSEC text description by @DL6ER in pi-hole/FTL#2246
- Allow tabs in dns.hosts by @DL6ER in pi-hole/FTL#2247
- Also make optional in the setupVars.conf migration process by @DL6ER in pi-hole/FTL#2248
- Tweak CHAOS TXT local.api.ftl by @DL6ER in pi-hole/FTL#2254
- Make additional_headers configurable by @DL6ER in pi-hole/FTL#2236
- Fix DNS_BOGUS_PRIV and QUERY_LOGGING migration by @MichaIng in pi-hole/FTL#2264
- Rate-limit internal NTP server by @DL6ER in pi-hole/FTL#2258
- Prevent duplicated entries on successive v5 Teleporter importing by @DL6ER in pi-hole/FTL#2265
- Update config/env.c to accept conventional environment variables in a… by @iain-henderson in pi-hole/FTL#2256
- We should not send any content for HTTP codes 1xx, 204 and 304 by @DL6ER in pi-hole/FTL#2272
- Fix DHCP_LEASETIME migration by @DL6ER in pi-hole/FTL#2271
- Print values of env vars if they are invalid by @DL6ER in pi-hole/FTL#2273
- Fix webserver.api.maxHistory usage in API by @DL6ER in pi-hole/FTL#2275
- Fix typo in dns option descriptions by @rrobgill in pi-hole/FTL#2280
- Follow-up on #2275 by @DL6ER in pi-hole/FTL#2285
- Restart FTL on change of webserver.threads by @DL6ER in pi-hole/FTL#2295
- Fix off-by-one in wildcard SAN checking by @DL6ER in pi-hole/FTL#2293
- Fix status codes and response messages for PUT in API docs by @tsutsu3 in pi-hole/FTL#2291
- Pi-hole FTL v6.0.3 by @DL6ER in pi-hole/FTL#2296
New Contributors
- @bennettmsherman made their first contribution in pi-hole/FTL#2244
- @iain-henderson made their first contribution in pi-hole/FTL#2256
- @tsutsu3 made their first contribution in pi-hole/FTL#2291
Full Changelog: pi-hole/FTL@v6.0.2...v6.0.3
2025.02.6
Now that PADD v4.0.0 has been released, we can include it in the docker image:
What's Changed? (PADD)
- Make PADD compatible with Pi-hole v6 (pi-hole/PADD#247) + a lot of smaller associated PRs
- Exit bump workflow early if latest tag is empty (pi-hole/PADD#394)
- Only exit for small screen sizes during startup (pi-hole/PADD#423)
- Move wiki to readme (pi-hole/PADD#419)
- CI Dependency updates
New Contributors
- @mwoolweaver made their first contribution in pi-hole/PADD#413
Full Changelog: pi-hole/PADD@v3.11.1...v4.0.0
2025.02.5
Nothing massively relvant to docker image - tagging to keep up to date with latest core release, which does include one change that will reflect an output message if pihole checkout
is run on docker.
What's Changed
- Don't set a random password on v5 -> v6 updates by @yubiuser in pi-hole/pi-hole#5960
- Only run migration code if setupVars.conf exists. by @PromoFaux in pi-hole/pi-hole#5969
- Fix dnsmasq v5 to v6 config migration by @MichaIng in pi-hole/pi-hole#5968
- Assure that Lighttpd conf-enabled symlink is removed by @MichaIng in pi-hole/pi-hole#5974
- Print a more helpful message on pihole checkout in docker containers by @DL6ER in pi-hole/pi-hole#5963
Full Changelog: pi-hole/pi-hole@v6.0.3...v6.0.4
2025.02.4
No Docker specific changes in this image - tagged to include the latest FTL hotfix
What's Changed (FTL v6.0.2)
- Fix possible problems with case-encode bigmap array allocation. by @DL6ER in pi-hole/FTL#2230
- Update embedded dnsmasq to 2.91rc5 by @DL6ER in pi-hole/FTL#2241
- Improve dnsmasq syntax check edge case by @DL6ER in pi-hole/FTL#2231
- Increase compatibility with volumes on network shares by @DL6ER in pi-hole/FTL#2218
- Make in revServer really optional by @DL6ER in pi-hole/FTL#2237
Full Changelog: pi-hole/FTL@v6.0.1...v6.0.2
2025.02.3
Small release to address #1723
What's Changed
- Add test to output FTL's version information by @yubiuser in #1700
- Re-expose ports 53/67/80/443 by @PromoFaux in #1730
Full Changelog: 2025.02.1...2025.02.3
2025.02.2
A couple of updates to the Readme, plus some hotfixes from the main components
What's Changed (Docker Specific)
- Add note about FTLCONF_misc_etc_dnsmasq_d by @yubiuser in #1719
- Amend README to include PADD branch in custom build steps by @yubiuser in #1720
- Improve default docker compose file to include SYS_TIME and SYS_NICE by @yubiuser in #1727
Full Changelog: 2025.02.1...2025.02.2
What's Changed (FTL)
- Allow default GH token to write content in the build script by @yubiuser in pi-hole/FTL#2200
- Fix parsing of envvars with more than one = by @DL6ER in pi-hole/FTL#2204
- Modify teleporter zip verification by @DL6ER in pi-hole/FTL#2198
- Fix legacy parsing of DEBUG_ALL option by @DL6ER in pi-hole/FTL#2205
- Add dependabot for npm by @yubiuser in pi-hole/FTL#2196
- Do not redirect to login page for ACME challenges by @DL6ER in pi-hole/FTL#2207
- Rearrange webserver.port default value by @DL6ER in pi-hole/FTL#2220
Full Changelog: pi-hole/FTL@v6.0...v6.0.1
What's Changed (Core)
- Apply chosen upstream DNS on fresh install by @MichaIng in pi-hole/pi-hole#5938
- Fix empty password detection by @MichaIng in pi-hole/pi-hole#5935
Full Changelog: pi-hole/pi-hole@v6.0.1...v6.0.3
What's Changed (Web)
- Add a link to the docker tag on the footer by @rdwebdesign in pi-hole/web#3230
Full Changelog: pi-hole/web@v6.0...v6.0.1
2025.02.1
Small tweak to the previous tag to grab the correctly tagged version of the pihole-FTL binary. This was a cosmetic bug only, there are no functional differences between this tag and 2025.02.0
What's Changed
- For release builds, grab the FTL binary from the github release by @PromoFaux in #1696
Full Changelog: 2025.02.0...2025.02.1
2025.02.0
This image is now based on the newly released Pi-hole v6.
Important
Please read the considerations for upgrading from v5 -> v6 here: https://docs.pi-hole.net/docker/upgrading/v5-v6/
General docker docs can be found on the docs site (https://docs.pi-hole.net/docker/) or the readme of this repo.
All the specific release notes can be found below, a summary can be found on our blog: https://pi-hole.net/blog/2025/02/18/introducing-pi-hole-v6/#page-content
What's Changed
- Remove one layer by having both git clone together by @Gontier-Julien in #1381
- Change so ADD to COPY following docker best practices by @Gontier-Julien in #1382
- Remove some unnessacery dependencies by @PromoFaux in #1366
- Re-implement SKIPGRAVITYONBOOT by @PromoFaux in #1368
- Reduce git clone size, by cloning only what is needed by @Gontier-Julien in #1391
- Add
ncurses
back in for the time being to fix pihole -v output. by @PromoFaux in #1392 - Allow branch names to be passed in as build args by @PromoFaux in #1384
- re-add the PIHOLE_DOCKER_TAG build arg that went missing along the way by @PromoFaux in #1395
- fix arm64 arch. use copy --chmod. reduce number of layers. by @edgd1er in #1393
- Add tzdata package so that users can define their own timezone at runtime by @PromoFaux in #1394
- Add tests back to the development-v6 container by @PromoFaux in #1396
- Allow the for changing of the UID/GID of the user/group pihole by @PromoFaux in #1403
- [dev-v6]:extracted uid/gid functions need to be rewritten to remove the return by @edgd1er in #1404
- Tell alpine specifically to install/use procps-ng by @Gontier-Julien in #1407
- Alphebetize alpine dependencies for organization. by @dschaper in #1408
- No need for uninstall.sh in the container image by @PromoFaux in #1409
- Add PADD to the image by @yubiuser in #1410
- if skipgravityonboot set, check db version. by @edgd1er in #1402
- Ensure pihole-FTL process is shut down cleanly on container exit / add tini by @PromoFaux in #1406
- Update Readme by @PromoFaux in #1429
- Make the FTL log tail optional. Pass in
TAIL_FTL_LOG: 0
to silence it by @PromoFaux in #1385 - Allow end user to add additional packages to the image by @PromoFaux in #1423
- Add instructions for rebuilding the image with a custom component branch by @PromoFaux in #1444
- Update references to web repo by @PromoFaux in #1450
- Add special handling for FTL Config names that have underscores in them by @PromoFaux in #1456
- Updates to reflect FTL's native capability of reading the FTLCONF_ env vars by @PromoFaux in #1460
- Clarify delimter for array type FTLCONF_ values by @PromoFaux in #1464
- drop the
/v8
fromlinux/arm64/v8
by @PromoFaux in #1468 - Install logrotate by @yubiuser in #1470
- Only run gravity on boot if the gravity database does not exist by @PromoFaux in #1466
- Create dir for logrotate statefile by @yubiuser in #1483
- install the logrotate file into /etc/pihole at startup in case of volume mounting by @PromoFaux in #1486
- Update alpine to 3.19 by @yubiuser in #1497
- Fix v6 build on riscv64 by @yubiuser in #1511
- Revert "Bump actions/download-artifact from 3 to 4" by @PromoFaux in #1513
- Revert "Bump actions/upload-artifact from 3 to 4" by @PromoFaux in #1514
- Artifacts v4 by @yubiuser in #1517
- Consider registry when up/downloading artifacts by @yubiuser in #1526
- Add dockerfile frontend syntax line by @yubiuser in #1529
- Tidy up a few things in the readme and code. by @PromoFaux in #1551
- Update Dockerfile by @PromoFaux in #1552
- Fix: correct dns upstreams
FTLCONF_dns_upstreams
variable name by @shamoon in #1557 - Remove obsolete "version" value from example docker-compose.yml files by @lemondjeff in #1569
- Install grep to avoid issues in pihole -w/b with the default busybox … by @PromoFaux in #1576
- Update DOCKER_BUILD_CMD in build.sh to include the "--load" flag by @PromoFaux in #1583
- Change default value of PIHOLE_DOCKER_TAG arg in dockerfile by @PromoFaux in #1585
- Add forgotten
--load
argument to the help text by @rdwebdesign in #1586 - Tweaks to readme for v6 by @PromoFaux in #1593
- Use correct delimeter in example compose file by @PromoFaux in #1594
- Add CAP_SYS_TIME in the container if available by @DL6ER in #1596
- Update github user reference by @alexis-opolka in #1598
- Add support for choosing PADD branch in build script by @PromoFaux in #1607
- Default DNS Upstream by @PromoFaux in #1608
- Add pytest-clarity to test environment to improve error log output by @yubiuser in #1609
- Add DNSMASQ_LISTENING=bind to README.md by @loeffelpan in #1615
- Bump alpine to 3.20 by @PromoFaux in #1621
- Set default tag for locally build images to pihole:local by @yubiuser in #1628
- Be more graceful when detecting a v5->v6 migration by @PromoFaux in #1629
- Development v6 -> dev by @PromoFaux in #1626
- Migrate old Pi-hole owned dnsmasq config files into /etc/pihole/migration_backup_v6 by @PromoFaux in #1641
- Confirm validity of downloaded FTL binary when building by @PromoFaux in #1643
- Update README.md by @IngmarStein in #1647
- Always terminate the container if pihole-FTL binary exits by @PromoFaux in #1649
- Remove tini from image, we don't need it as we're handling all the ex… by @PromoFaux in #1651
- Tweak README text and formatting by @rdwebdesign in #1646
- Add some hardening to the build script by @PromoFaux in #1644
- Bump base image to Alpine 3.21 by @rdwebdesign in #1671
- Pi-hole does not provide DNS-over-TLS by @yubiuser in #1674
- Bake debugging requirements into the nightly image for ease of debugging by @DL6ER in #1675
- Clarify log message for missing caps by @jnodorp in #1687
- Remove unused DHCP_ACTIVE and fix shellcheck warnings by @yubiuser in #1691
- Set default UID and GID to 1000 by @yubiuser in #1690
- Utilise FTL's native config upgrade functionality by @PromoFaux in #1683
- Development -> Master by @PromoFaux in #1692
New Contributors
- @Gontier-Julien made their first contribution in #1381
- @shamoon made their first contribution in #1557
- @alexis-opolka made their first contribution in #1598
- @loeffelpan made their first contribution in #1615
- @IngmarStein made their first contribution in https://github.com/pi-hole/...
2024.07.0
Nothing Docker-specific, retagging to include which includes a hotfix for a reported vulnerability
What's Changed (Core v5.18.3)
- Add protocol validation when downloading blocklist from URL by @DL6ER pi-hole/pi-hole@2c497a9 (GHSA-jg6g-rrj6-xfg6 reported by @T0X1Cx)
- Add Ubuntu 24.04 and Fedora 40, remove Fedora 38 by @yubiuser in pi-hole/pi-hole#5658
Full Changelog: pi-hole/pi-hole@v5.18.2...v5.18.3