NxFilter - An easy to use DNS server with configurable filters and user controls.
The latest
image is based on 1science/java for the slimmed down Java and overall container footprint. This is slated to change in the future. Debian will give faster startup performance, and possibly other areas as well, with a tradeoff of a much larger image and in some cases more RAM usage.
nxfilter:
image: packetworks/nxfilter-base:latest
tty: true
volumes:
- nxfilter-conf:/nxfilter/conf
- nxfilter-log:/nxfilter/log
- nxfilter-db:/nxfilter/db
restart: unless-stopped
dns:
- "1.1.1.1"
ports:
- 80:80
- 443:443
- 53:53/udp
- 19002-19004:19002-19004
Single persistent container:
docker run -it \
--name nxfilter \
--dns="1.1.1.1" \
--restart unless-stopped \
-p 80:80 -p 443:443\
-p 53:53/udp \
packetworks/nxfilter-base:latest
-it
starts the container in Interactive mode with a TTY.
-p
forwards a port into the container, other ports are needed to utilize all features of nxfilter.
Port 53 UDP is for incoming DNS queries, port 80 is for the WebUI.
The interactive console can be sent to the background with CTRL-P + CTRL-Q.
Transient container with a persistent data volumes:
docker run -dt \
--name nxfilter \
--dns="1.1.1.1" \
--restart unless-stopped \
-v nxfilter-conf:/nxfilter/conf \
-v nxfilter-log:/nxfilter/log \
-v nxfilter-db:/nxfilter/db \
-p 80:80 -p 443:443 -p 53:53/udp \
-p 19002-19004:19002-19004 \
packetworks/nxfilter-base:latest
This will run the container in the background like a service, with all user data saved in separate docker volumes.
Synology:
Be sure Web Station is either uninstalled or the default ports are changed to something other than 80 and 443. This applies to any machine that could be running an HTTP or HTTPS server as NxFilter may collide with port assignments.
Daniel Gibbs
Vincent Tacquet
Adam Trust
Daniele (brugnara)
Nathan Sanders
Alpine image changes
CI/CD pipeline for safer images with more testing