Open Camry2731 opened 3 years ago
Hi,
many thanks for your request. Looks like a simple docker container. But not sure if there is a real benefit as PiHole as well as Unbound already do DNS caching.
From my quick read, this doesn't just do DNS caching, but also physically caches the games on disk.
Hi,
many thanks for your request. Looks like a simple docker container. But not sure if there is a real benefit as PiHole as well as Unbound already do DNS caching.
Appreciate the reply. Although both PiHole and Unbound do DNS caching, wouldn't the caching of LanCache.NET be different? As this would allow games to be pulled from a storage device on the local network rather than from the provider servers? Unless that same functionality can be accomplished in PiHole?
ah ok it's caching games as well. But still a simple docker container, not that much to automate. Question is if @MichaIng like to support more docker container or if this is something the user can do themselves with the tools we provide
If I understood it right, the DNS feature is used to redirect requests to game platform update/download servers to the central cache as well. So without it, the game or platform can be started from all participants via a single actual game/platform installed on the cache server. But those each participants instance would all still contact the manufacturer/platform provider servers for updates, new, patches, whatever. The additional DNS service is basically a hosts list to redirect those requests to the cache server as well, to reduce redundant and probably incompatible network traffic.
In conjunction with Pi-hole and/or Unbound this would mean an additional DNS server in the row. But when not putting that LanCache DNS service as the first server in the row, and if all LAN clients resolve via Pi-hole already, setup effort could be reduced by changing the Pi-hole upstream DNS to that LanCache DNS so that clients or router settings don't need to be changed. Also when Unbound is installed, LanCache DNS upstream could be connected to Unbound.
If the involved host list is easily available and can be easily updated, it could be also integrated into Pi-hole and/or Unbound directly to eliminate the need for the dedicated LanCache DNS instance.
So generally I see that possibility that we could do some helpful setup steps aside of installing the Docker container only. And personally I'm a friend of all efforts that aim to reduce network traffic, disk usage etc where applicable 😄.
There's a list of domain names at https://github.com/uklans/cache-domains.
Basically if you have Pihole as well as Unbound installed, apps order would be: LAN client > Pihole > LanCache > Unbound > upstream DNS. On container settings for LanCache, port settings would need to be adjusted away from port 53 and Unbound would need to be upstream DNS. Means we would need to adjust compose config and env file before.
Exactly. Although probably it should be an option whether to have Client > Pi-hole > LanCache > Unbound or Client > LanCache > Pi-hole > Unbound, since depending on probably existing DNS settings sometimes the first and sometimes the seconds would cause less issues.
But with https://github.com/uklans/cache-domains, LanCache DNS is not necessarily required anymore. There are even two scripts to create an Unbound or dnsmasq (Pi-hole) config based on chosen service: https://github.com/uklans/cache-domains/tree/master/scripts
looks like an interesting alternative, but it would require a cache server
??
That is the core part of LanCache 😄, what they call "Monolithic", LanCache DNS is a dedicated second container and the SNI proxy to serve HTTPS traffic as a third. And the Docker Compose image runs all three of them, if I get it right. But should be possible to keep using the compose image and disable the DNS container when not required.
ok found a big downside and a possible nogo. Both container for LanCache are not able to run on ARM. According DockerHub, they are compiled for AMD64 only.
https://hub.docker.com/r/lancachenet/monolithic/tags?page=1&ordering=last_updated https://hub.docker.com/r/lancachenet/lancache-dns/tags?page=1&ordering=last_updated
Although I think on a LAN you don't want to serve a bunch of games to a bunch of PCs from a little SBC anyway 😄. For the use case I think it's fine currently. But also larger ARM servers are raising, so soon ARM builds will make sense.
at least first container I was able to build on arm. however the 2nd is more tricky 🤔
I'm able to start both container now. But monolithic
container is failing right after start. Probably I messed something up as the container is build on other container and it was needed to compile all of them in a row / one by one.
nginx: [emerg] "proxy_max_temp_file_size" directive invalid value in /etc/nginx/sites-available/generic.conf.d/root/20_cache.conf:29
nginx: configuration file /etc/nginx/nginx.conf test failed
I had some issues on the required ubuntu-nginx
container and it was needed to manipulate the Dockerfile
🙄 https://github.com/lancachenet/ubuntu-nginx
I should have checked further before trying myself 🤣
That's basically same explanation for not being available on ARM, as you already have given @MichaIng , https://github.com/lancachenet/monolithic/issues/112
However there is a fork created for RPi and it seems to be working https://github.com/jrcichra/lancache-rpi
Nice, and it should work on all ARMv7 boards and if I'm not mistaken ARMv7 containers can run on ARMv8 Docker/systems as well?
it should, according DockerHub, container is available for ARMv7 and ARM64. I did the test on 32bit https://hub.docker.com/r/jrcichra/lancachenet-lancache-dns/tags?page=1&ordering=last_updated
Creating a software request
Formal software information
Are there similar/alternative software titles available with DietPi-Software?
What makes your requested software better than the above solutions, if available?
How can DietPi make the installation easier or compatible, than following the install instructions or do APT installation, if available?
Can you provide the installation steps that you would suggest DietPi-Software to do?
Are you willing to help maintaining the software installation, e.g. in case of needed setup changes due to updates etc.? This is not needed, but could speed up our decision to implement it, as man power is always a topic :wink:.