From 2b874e1f07d2edcd62f87c78d164a21b172fa026 Mon Sep 17 00:00:00 2001 From: lmginfra <104795993+lmginfra@users.noreply.github.com> Date: Mon, 24 Jul 2023 15:35:40 -0700 Subject: [PATCH 1/2] Modernize lancache_env_vars.yml for the lancache site - removed old unused entries (generic) - reworded practically every description to be more descriptive - added missing descriptions - reordered to match the default .env file - remove some duplicate entries - corrected a few defaults --- _data/lancache_env_vars.yml | 148 ++++++++++++++---------------------- 1 file changed, 55 insertions(+), 93 deletions(-) diff --git a/_data/lancache_env_vars.yml b/_data/lancache_env_vars.yml index 7052f0c..97cb208 100644 --- a/_data/lancache_env_vars.yml +++ b/_data/lancache_env_vars.yml @@ -6,149 +6,111 @@ # We might be able to repurpose this to handle env variables? monolithic: - - name: CACHE_DOMAINS_REPO + - name: CACHE_ROOT description: >- - The github repo url for the cache_domains files to use to populate the cdn maps, if you do not want to use the recommended source for testing purposes. - default: https://github.com/uklans/cache-domains.git - - name: CACHE_DOMAINS_BRANCH - description: >- - The branch of the CACHE_DOMAINS_REPO to use - default: master - - name: NOFETCH - description: >- - Turn off all git pull operations and use stored data - default: false - - name: UPSTREAM_DNS - description: >- - The upstream DNS server(s) the cache should use. The defaults are Google DNS. Multiple upstream dns servers are allowed, separated by semi colons (or spaces). Do NOT point this at lancache-dns. - default: 8.8.8.8 8.8.4.4 + The file path where cached data will be stored. By default, a folder named "lancache" in the same directory as the docker-compose file is used. + default: ./lancache - name: CACHE_DISK_SIZE description: >- - The amount of disk space the container should use for caching data. Specified in gigabytes. - default: 1000g + The maximum amount of disk space Monolithic should use for cache data. + default: 2000g - name: CACHE_INDEX_SIZE description: >- - Amount of index memory for the nginx cache manager. We recommend 250m of index memory per 1TB of CACHE_DISK_SIZE + The amount of system memory to allocate to Monolithic's cache index. We recommend 250m (250 Megabytes) of memory per 1000g (1000 Gigabytes) of CACHE_DISK_SIZE. default: 500m - name: CACHE_MAX_AGE description: >- - The maximum amount of time a file should be held in cache. There is usually no reason to reduce this - the cache will automatically remove the oldest content if it needs the space. + How long data should remain in the cache before being automatically removed. There is typically no reason to change this as the cache will automatically overwrite the oldest files once full. default: 3560d + - name: TZ + description: >- + The timezone to be used by the Monolithic container in TZ identifier format. This is used primarily to provide correct timestamps in log files. + default: Europe/London monolithic-advanced: + - name: CACHE_DOMAINS_REPO + description: >- + The Git repo hosting the list of domains to be cached (cache_domains). The default repo (uklans/cache-domains) is a community-maintained list of hostnames that serve game-related content compatible with LanCache and shouldn't need to be changed unless to add custom services. + default: https://github.com/uklans/cache-domains.git + - name: CACHE_DOMAINS_BRANCH + description: >- + The Git branch of CACHE_DOMAINS_REPO to use. + default: master - name: NGINX_WORKER_PROCESSES description: >- + The number of NGINX worker processes to spawn. The default of auto attempts to run one worker process per CPU core. default: auto - - name: GENERICCACHE_VERSION + - name: NOFETCH description: >- - Internal reference version. DO NOT CHANGE THIS. - default: 2 + When true, NOFETCH disables downloading or updating the list of domains to cache (cache_domains) from CACHE_DOMAINS_REPO and instead uses the currently stored entries. + default: false - name: WEBUSER description: >- - Account NGINX runs under + The system user NGINX runs as. default: www-data - name: BEAT_TIME description: >- - How often the internal heart beat process runs + How often the internal heartbeat process runs. This task prints a heartbeat to a log file for diagnostic purposes and can be used by external services to check the health of Monolithic. default: 1h - - name: LOGFILE_RETENTION - description: >- - default: 3560 - - name: NGINX_WORKER_PROCESSES - description: >- - default: 16 - name: CACHE_SLICE_SIZE description: >- - See this guide before changing this. It WILL invalidate any currently cached data. + The size of NGINX cache slices. NGINX breaks large requests up into slices of the specified size. The default of 1m (1 Megabyte) is intended as a happy medium for all of the compatible services. See this guide before you consider changing this value, as it has serious performance implications and will invalidate any existing cache data. default: 1m - - name: CACHE_MODE - description: >- - default: generic - name: FORCE_PERMS_CHECK description: >- - Force a full permissions check on startup. When the container starts up normally, it checks a few key locations to ensure that they are owned by the correct user. This option will force the container to do a full check of all cache directories and files. THIS WILL BE VERY SLOW, AND MAY POSSIBLY TAKE HOURS. + Whether or not to force a full file permissions check on startup. By default, Monolithic checks a few key locations to ensure that they are owned by the correct user. This option forces Monolithic to do a full check of all cache directories and files. THIS WILL BE VERY SLOW, AND COULD POSSIBLY TAKE HOURS. default: false - - -# note some of these are duplicates of monolithic -generic: - - name: UPSTREAM_DNS - description: >- - The upstream DNS server(s) the cache should use. The defaults are Google DNS. Multiple upstream dns servers are allowed, separated by semi colons (or spaces). Do NOT point this at lancache-dns. - default: 8.8.8.8 8.8.4.4 - - name: CACHE_DISK_SIZE - description: >- - The amount of disk space the container should use for caching data - default: 1000000m - - name: CACHE_INDEX_SIZE - description: >- - Amount of index memory for the nginx cache manager. We recommend 250m of index memory per 1TB of CACHE_DISK_SIZE - default: 500m - - name: CACHE_MAX_AGE - description: >- - The maximum amount of time a file should be held in cache. There is usually no reason to reduce this - the cache will automatically remove the oldest content if it needs the space. - default: 3560d - -generic-advanced: - name: GENERICCACHE_VERSION description: >- - Internal reference version. DO NOT CHANGE THIS. + An internal version reference. DO NOT CHANGE THIS. default: 2 - - name: WEBUSER - description: >- - Account NGINX runs under - default: www-data - - name: BEAT_TIME - description: >- - How often the internal heart beat process runs - default: 1h - - name: LOGFILE_RETENTION + +lancache-dns: + - name: USE_GENERIC_CACHE description: >- - default: 3560 - - name: NGINX_WORKER_PROCESSES + Whether or not lancache-dns should forward DNS lookups for ALL cached domains to a generic Monolithic instance running at LANCACHE_IP. Setting this to false means LANCACHE_IP will be ignored, and only services configured with CACHE_IP (ex. STEAMCACHE_IP or RIOTCACHE_IP) will be forwarded. + default: true + - name: LANCACHE_IP description: >- - default: 16 - - name: CACHE_SLICE_SIZE + The IP address(es) of your generic Monolithic instance. Multiple IPs can be used, separated by semi-colons or spaces. If you wish to run individual Monolithic instances for some or all services, they can be individually configured by adding CACHE_IP (ex. STEAMCACHE_IP=10.0.0.10) to your .env file. See your CACHE_DOMAINS_REPO for a list of services. + default: 10.0.39.1 + - name: DNS_BIND_IP description: >- - See https://www.lancache.net/docs/advanced/tuning-cache/#b---tweaking-slice-size before changing this. It WILL invalidate any currently cached data. - default: 1m - - name: CACHE_MODE + The IP address lancache-dns should bind to. Set this IP as the sole DNS IP on your DHCP server to have clients on your network use LanCache. + default: 10.0.39.1 + - name: UPSTREAM_DNS description: >- - default: generic - - name: FORCE_PERMS_CHECK + The upstream DNS server(s) to be used by lancache-dns. Multiple IPs can be used, separated by semi-colons or spaces as shown with the default Google DNS servers. Do NOT point this at lancache-dns. + default: 8.8.8.8 8.8.4.4 + - name: TZ description: >- - Force a full permissions check on startup. When the container starts up normally, it checks a few key locations to ensure that they are owned by the correct user. This option will force the container to do a full check of all cache directories and files. THIS WILL BE VERY SLOW, AND MAY POSSIBLY TAKE HOURS. - default: false + The timezone to be used by the lancache-dns container in TZ identifier format. This is used primarily to provide correct timestamps in log files. + default: Europe/London -lancache-dns: +lancache-dns-advanced: - name: CACHE_DOMAINS_REPO description: >- - The github repo url for the cache_domains files to use to populate the cdn maps, if you do not want to use the recommended source for testing purposes. + The Git repo hosting the list of domains to be cached (cache_domains). The default repo (uklans/cache-domains) is a community-maintained list of hostnames that serve game-related content compatible with LanCache and shouldn't need to be changed unless to add custom services. default: https://github.com/uklans/cache-domains.git - name: CACHE_DOMAINS_BRANCH description: >- - The branch of the CACHE_DOMAINS_REPO to use + The Git branch of CACHE_DOMAINS_REPO to use. default: master - - name: UPSTREAM_DNS - description: >- - The upstream DNS server(s) the cache should use. The defaults are Google DNS. Multiple upstream dns servers are allowed, separated by semi colons (or spaces). Do NOT point this at lancache-dns. - default: 8.8.8.8 - -lancache-dns-advanced: - - name: STEAMCACHE_DNS_VERSION - description: >- - Internal reference version. DO NOT CHANGE THIS. - default: 1 - name: ENABLE_DNSSEC_VALIDATION description: >- + Whether or not DNSSEC information on the UPSTREAM_DNS provider should be validated. This is disabled by default as it can cause problems in some restrictive firewall setups. default: false - name: LANCACHE_DNSDOMAIN description: >- - Internally used top level domain within the DNS RPZ structure for CNAMES. Should be largely invisible to end users. + The internally used top-level domain within the DNS RPZ structure for CNAMES. This should be largely invisible to end users. default: cache.lancache.net + - name: STEAMCACHE_DNS_VERSION + description: >- + An internal version reference. DO NOT CHANGE THIS. + default: 1 sniproxy: - name: UPSTREAM_DNS description: >- - The upstream DNS server(s) the cache should use. The defaults are Google DNS. Multiple upstream dns servers are allowed, separated by semi colons (or spaces). Do NOT point this at lancache-dns. + The upstream DNS server(s) to be used by sniproxy. Multiple IPs can be used, separated by semi-colons or spaces as shown with the default Google DNS servers. default: 8.8.8.8 8.8.4.4 From a39912e3eba9dda43b95209812fed889253227e7 Mon Sep 17 00:00:00 2001 From: lmginfra <104795993+lmginfra@users.noreply.github.com> Date: Mon, 24 Jul 2023 15:38:14 -0700 Subject: [PATCH 2/2] under, not as --- _data/lancache_env_vars.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/lancache_env_vars.yml b/_data/lancache_env_vars.yml index 97cb208..0cce6f6 100644 --- a/_data/lancache_env_vars.yml +++ b/_data/lancache_env_vars.yml @@ -46,7 +46,7 @@ monolithic-advanced: default: false - name: WEBUSER description: >- - The system user NGINX runs as. + The system user NGINX runs under. default: www-data - name: BEAT_TIME description: >-