Git Product home page Git Product logo

lancache-rpi's Introduction

Lancache Monolithic for ARM32/ARM64

Docker Pulls Docker Pulls Docker Pulls Docker Pulls

(Unofficial RPI Version) - A monolithic lancache service capable of caching all CDNs in a single instance

Note

  • NTFS/FAT32 external drives will not work. nginx tries to chown, which doesn't play nice with Microsoft filesystems. Please use a nix filesystem such as ext4.
  • You may experience slower than expected cache speeds.

Installation

  • To install:
    • If you don't already have docker and docker-compose, run sudo apt install docker.io docker-compose
    • sudo git clone https://github.com/jrcichra/lancache-rpi.git
    • cd lancache-rpi
    • nano .env
    • In the .env, follow annotations and modify LANCACHE_IP and DNS_BIND_IP to be the IP of the interface you want to expose this on. 0.0.0.0 might work but I recommend a single interface.
    • docker-compose up -d
  • Configure your router and/or PC to serve lancache-dns
  • Further documentation can be found at lancache.net

Test it

http://diagnostics.lancache.net/

Actions

This repo uses Github Actions. Click the Actions tab to view the script output.

The docker images can be found on my docker hub account.

lancache-rpi's People

Contributors

cyberoniontoni avatar jrcichra avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lancache-rpi's Issues

9/30/20 monolithic image in a restart loop. "proxy_max_temp_file_size" directive invalid value

The latest monolithic build (9/30/20) included a change to increase proxy_max_temp_file_size from 1024m to 8192m. I am now getting the following error when trying to start the monolithic image:

Checking nginx config
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
ERROR: hook /hooks/supervisord-pre.d/99_config_check.sh} returned a non-zero exit status '0'

I am running on a Raspberry Pi 4 with DietPi 64bit.

Possible Assistance Guide OMV5 PiHole LanCache-RPI?

Hi there I would have rather asked this somewhere else but have no idea where you are taking the time to answer questions.

Also thank you for your time in converting this software over to ARM to be used.

Here goes I've set up OMV5 on a Raspberry Pi 4 8GB model along side a Quad Sata Hat from Radxa Using the RaspiOS 64bit from here. Though the newest version can be found in the official repository here. After setting up OMV5 and going to the OMV-Extras tab on the Web Interface which is your Pi's Hostname or IP on default port 80 setup Docker through there and change the port to 81 as LanCache needs port 80. You can then pull Docker Images to have them installed using Portainer.

I still ssh into the Pi to pull your setup scripts to install Lancache-RPI and configure the .env variables before issuing the sudo docker-compose up -d command. As for Pi-Hole I pull it via Portainer of course there are issues with ports conflicting.

My main question here is it possible to set up PiHole and Lancache-RPI on the same machine? If so how to configure ports to have the DNS work correctly? I also know using all the software listed you have to configure the /etc/systemd/resolved.conf by uncommenting the lines for Cache and DNSStubListener and setting them equal to no.

If it's possible to run all software together OMV5 PiHole and your version of LanCache I wish there could be a little more guidance on how to set it up.

On another side note if it's not to much to ask do you think it would be possible to set up and use something like Apache or Nginx for a web server alongside as I know port 80 is a necessity for LanCache and OMV5 but OMV5 is able to have it's port changed to allow for LanCache.

Any help guidance for trying to get this mash up to work together I would greatly appreciate it.

Thank you for your time

lancache-rpi_monolithic_1 keeps failing

As the title says the lancache-rpi_monolithic_1 keeps failing. When checking the logs I get

nginx: [emerg] chown("/data/cache/cache", 33) failed (1: operation not permitted)
nginx: configuration file /etc/nginx/nginx.conf test failed
ERROR: hook /hooks/supervisord-pre.d/99_config_check.sh} returned a non-zero exit status '0'

I'm a noob at anything linux related so help would very much be appreaciated.

cannt pull immage anymore

hey since the last patch i am unable to pull the image

Pulling dns (jrcichra/lancachenet-lancache-dns:latest)...
latest: Pulling from jrcichra/lancachenet-lancache-dns
854ab59e811f: Pulling fs layer
996b7ca18b13: Pulling fs layer
50a08dcf8afc: Pulling fs layer
d34a2e7cb38e: Waiting
528f94627a01: Waiting
06585a47ffcf: Waiting
2d03e2bb05e6: Waiting
0f6baf0dcc90: Waiting
41018873be17: Waiting
789de1badef5: Waiting
0583026cfae6: Waiting
21ad4febaaf8: Waiting
032e46f00b13: Waiting
e58c91cd1ef2: Waiting
ERROR: error pulling image configuration: unknown blob

Question: lancache-rpi vs Lancache.NET

I already have a cache directory for Lancache.NET. Can I use lancache-rpi to write to the same cache directory or it is better to write to a different cache directory? Also, if I keep separate cache directories can I merge them together later?

lancache dns not restart

When I restart the rpi and from terminal I check docker stats with "docker stat", it shows only "lancache monolithic" (and the cache not work). If I do a docker-compose up -d all works fine. What could be the problem?

Slower than expected cache speeds?

Hi, this isn't so much a major bug but more so a question of the speeds I'm supposed to get while using this with a RPi 4B+.

I've set up everything according to the instructions, its clearly working as I jump from ~20MB/s to ~50MB/s. I was just wondering if you've been able to get nearer the 100MB/s mark.

The drive I'm using is an SSD connected via a Quad Sata HAT and running a benchmark of the drive, I should be able to hit 100MB/s sequential reads.

Issues with cache seemingly being limited to 2TB

Hello there.

Thanks for the good work, I've been very much enjoying your fork of the lancache, it was very easy to get going on my ARM64 NAS.

I'm having an issue though, I can't seem to cache more than 2TBs of data before previous data starts getting pruned. I was wondering if I could get some guidance on what could cause this.

my .env file (comments removed) is as follows:

USE_GENERIC_CACHE=true
LANCACHE_IP=192.168.88.169
DNS_BIND_IP=192.168.88.169
UPSTREAM_DNS=8.8.8.8
CACHE_ROOT=./lancache
CACHE_MEM_SIZE=500m
CACHE_DISK_SIZE=100000000m
CACHE_MAX_AGE=3650d

and when checking inside the docker the contents of the "/etc/nginx/conf.d/20_proxy_cache_path.conf" file is:

proxy_cache_path /data/cache/cache levels=2:2 keys_zone=generic:500m inactive=200d max_size=100000000m loader_files=1000 loader_sleep=50ms loader_threshold=300ms use_temp_path=off;

Any guidance would be appreciated! Thanks~

Monolithic Container only starts with CACHE_MEM_SIZE=2000m maximum

The Monolithic-container olny starts when CACHE_MEM_SIZE described in .env is or is smaller than 2000m on a raspi 4 with 4GB RAM.
Steps to reproduce:

  1. install docker on raspi (ubuntu and raspberrypios tested) as described at https://docs.docker.com/engine/install/
  2. install python3 und python3-pip
  3. install docker-compose via pip3
  4. clone repo git clone https://github.com/jrcichra/lancache-rpi.git
  5. write in .env CACHE_MEM_SIZE greater than 2000m (example 2500m)
  6. start docker-compose with docker-compose up (without -d to see the error)
  7. Monolithic container will be in bootloop approx. every 10 to 15 seconds cause of a nginx error with this variable.

I hope this is the right place to post this, could also be possible that this is fundamentaly a lancache problem and not from this unofficial fork.

greetings
Yowa

Fix the CI

Work on making CI check if steam and such works before pushing

battle.net downloads not working

Did someone get the battle.net launcher from Blizzard to work with this lancache? Images and videos in the launcher are not loading would be just a minor annoyance, but I can't update anything. Failing with connection issues.

On a side node, steams downloads sometimes also fail, but are working if just put them into the queue again.

Restarting

Lancache monolithic keeps on restarting and not caching anything

not caching

the instance runs perfectly:

C:\Users\Admin>nslookup lancache.steamcontent.com
Server: UnKnown
Address: 192.168.31.220

Non-authoritative answer:
Name: steam.cache.lancache.net
Address: 192.168.31.220
Aliases: lancache.steamcontent.com

for some reason not caching any chunks from any service (ipv6 off).
all tests from http://diagnostics.lancache.net/ come negative.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.