All apps · 0 apps
lancache-bundle
Docker app from Josh.5's Repository
Overview
Readme
View on GitHublancache-bundle
A bundled lancache service based on https://github.com/lancachenet/
This is a bundled image containing everything as it is if you were to run the offical monolithic stack from lancachenet.
(Original Readme from lancache docker-compose)
Docker Compose for a full-stack lancache.
This docker-compose is meant as an example for running our lancache stack, It will run out of the box with minimal changes to the .env file for your local IP address.
Settings
You MUST set at least
LANCACHE_IPandDNS_BIND_IP. It is highly recommended that you changeCACHE_ROOTto a folder of your choosing, and setCACHE_DISK_SIZEto a value that suits your storage capacity.
USE_GENERIC_CACHE
This controls IP assignment within the DNS service - it assumes that every service is reachable by default on every IP given in LANCACHE_IP. See the lancache-dns project for documentation on customising the behaviour of the DNS service.
LANCACHE_IP
This provides one or more IP addresses to the DNS service to advertise the cached services. If your cache host has exactly one IP address (e.g. 192.168.0.10), specify that here. If your cache host has more IP addresses, you can list all of them, separated by spaces (e.g. 192.168.0.10 192.168.0.11 192.168.0.12) - DNS entries will be configured for all services and all IPs by default.
Note: unless your cache host is at
10.0.39.1, you will want to change this value.
DNS_BIND_IP
This sets the IP address that the DNS service will listen on. If your cache host has exactly one IP address (eg. 192.168.0.10), specify that here. If your cache host has multiple IPs, specify exactly one and use that. This compose stack does not support the DNS service listening on multiple IPs by default.
Note: unless your cache host is at
10.0.39.1, you will want to change this value.
There are a few ways to make your local network aware of the cache server.
- Advertise the IP given in
DNS_BIND_IPvia DHCP to your network as a nameserver. In this scenario, all clients configured to use the nameservers from DNS will use thelancache-dnsservice. This allows thelancache-dnsservice to provide clients with the appropriate local IPs for cached services, and all other requests will be passed toUPSTREAM_DNS. - Use the configuration generators available from UKLANs' cache-domains project to create configuration data to load into your network's existing DNS infrastructure
UPSTREAM_DNS
This allows you to choose one or more IP addresses for upstream DNS resolution if a name is not matched by the lancache-dns service (e.g. non-cached services, local hostname resolution).
Whichever resolver you choose depends on your network's requirements - if you don't need to provide internal DNS names, you can point UPSTREAM_DNS directly to an external resolver (the default is Google's DNS at 8.8.8.8).
If you run internal services on your network, you can set UPSTREAM_DNS to be your internal DNS resolver(s), semicolon separated (e.g. 192.168.0.1; 192.168.0.2).
Example external resolvers
- Google DNS:
8.8.8.88.8.4.4
- Cloudflare
1.1.1.1
- OpenDNS
208.67.222.222208.67.220.220
CACHE_ROOT
This will be used as the base directory for storing cached data (as CACHE_ROOT/cache) and logs (as CACHE_ROOT/logs).
The CACHE_ROOT should either be on a separate partition, or ideally on separate storage devices entirely, from your system root.
Note: this setting defaults to
./lancache. Unless your cache storage lives here, you probably want to change this value.
CACHE_MEM_SIZE
This controls the size of the memory cache used by the cache server. The default should suffice for almost all configurations.
Note: this setting does not limit the amount of memory that the Linux host will use for page caches, only what the cache server will use itself - see the Docker documentation on limiting memory consumption for a container if you wish to constrain the total memory consumption of the cache server, but generally you want as much memory as possible on your cache server to be used to store hot data.
CACHE_DISK_SIZE
This setting will constrain the upper limit of space used by cached data. You generally want to leave a small gap (10-20GB at least) between the size listed here and the available storage space used for the cached data, just in case.
The cache server will automatically cached data when the total stored amount approaches this limit, in a least-recently-used fashion (oldest data, least accessed deleted first).
Note: that this must be given in megabytes with an
msuffix (e.g. the default value,1000000m).
CACHE_MAX_AGE
This setting allows you to control the maximum duration cached data will be kept for. The default should be fine for most use cases - the CACHE_DISK_SIZE setting will generally be used before this for aging out data.
Note: this must be given as a number of days in age before expiry, with a
dsuffix (e.g. the default value,3650d).
More information
The LanCache docker-stack is generated automatically from the data over at UKLans. All services that are listed in the UKLans repository are available and supported inside this docker-compose.
For an FAQ see https://github.com/lancachenet/monolithic/blob/master/faq.md
Install lancache-bundle on Unraid in a few clicks.
Find lancache-bundle in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Download Statistics
Total Downloads Over Time
Related apps
Explore more like this
Explore allLinks
Details
josh5/lancache-bundle:latestRuntime arguments
- Network
br0- Shell
bash- Privileged
- false
Template configuration
IP Address of cache container. (Has to be the same as the HOST's IP. If you set the container's IP to 192.168.1.202 this has to be the same. If you use bridge it has to be the same as unRAID's IP.)
- Value
- 192.168.1.202
IP Address of cache container. (Has to be the same as the HOST's IP. If you set the container's IP to 192.168.1.202 this has to be the same. If you use bridge it has to be the same as unRAID's IP.)
- Value
- 192.168.1.202
Location to store the cached files
- Target
- /data/cache
- Value
- /mnt/user/lancache
Location to store the DNS logs
- Target
- /var/log/named
- Value
- /mnt/user/appdata/lancache-bundle/log/named
Location to store the Nginx logs
- Target
- /var/log/nginx
- Value
- /mnt/user/appdata/lancache-bundle/log/nginx
Memory size for the cache
- Value
- 500m
Max size for the cache
- Value
- 2000g
Max age for files in the cache
- Value
- 150d
DNS port, don't change!
- Target
- 53
- Default
- 53
- Value
- 53
Container Port: 80 Don't change!
- Target
- 80
- Value
- 80
Container Port: 443 SNIProxy port, don't change!
- Target
- 443
- Value
- 443
Container Variable: UPSTREAM_DNS
- Value
- 1.1.1.1
Must be set to true to use generic cache
- Value
- true
Set to true to disable arenanet caching
Set to true to disable blizzard caching
Set to true to disable cityofheroes caching
Set to true to disable daybreak caching
Set to true to disable epicgames caching
Set to true to disable frontier caching
Set to true to disable hirez caching
Set to true to disable neverwinter caching
Set to true to disable nexusmods caching
Set to true to disable nintendo caching
Set to true to disable origin caching
Set to true to disable renegadex caching
Set to true to disable riot caching
Set to true to disable rockstar caching
Set to true to disable sony caching
Set to true to disable steam caching
Set to true to disable teso caching
Set to true to disable twitch caching
Set to true to disable uplay caching
Set to true to disable warframe caching
Set to true to disable wargaming caching
Set to true to disable windowsupdates caching
Set to true to disable xboxlive caching