开源项目 multiplay/lancache
使用教程
1. 项目的目录结构及介绍
multiplay/lancache
项目的目录结构如下:
lancache/
├── docker-compose.yml
├── env
├── README.md
├── docs/
│ ├── SystemOverview.md
│ ├── QuickStart.md
│ └── ...
├── scripts/
│ ├── setup.sh
│ ├── update.sh
│ └── ...
├── config/
│ ├── nginx.conf
│ ├── lancache-dns.conf
│ └── ...
└── data/
├── cache/
├── logs/
└── ...
目录介绍
docker-compose.yml
: Docker 容器编排文件,用于启动和管理容器。env
: 环境变量配置文件。README.md
: 项目说明文档。docs/
: 项目文档目录,包含系统概览、快速启动指南等。scripts/
: 包含一些脚本文件,如设置和更新脚本。config/
: 配置文件目录,包含 Nginx 和 DNS 配置文件。data/
: 数据目录,包含缓存和日志文件。
2. 项目的启动文件介绍
项目的启动文件主要是 docker-compose.yml
,该文件定义了如何启动和管理容器。以下是 docker-compose.yml
的主要内容:
version: '3'
services:
lancache:
image: lancachenet/monolithic:latest
ports:
- "80:80"
volumes:
- ./data/cache:/data/cache
- ./data/logs:/data/logs
environment:
- CACHE_MEM_SIZE=1000m
- CACHE_DISK_SIZE=1000g
lancache-dns:
image: lancachenet/lancache-dns:latest
ports:
- "53:53/udp"
environment:
- UPSTREAM_DNS=8.8.8.8
启动文件介绍
lancache
: 主缓存服务,使用lancachenet/monolithic
镜像,映射端口 80,并挂载缓存和日志目录。lancache-dns
: DNS 服务,使用lancachenet/lancache-dns
镜像,映射端口 53,并设置上游 DNS。
3. 项目的配置文件介绍
项目的配置文件主要位于 config/
目录下,以下是一些关键配置文件的介绍:
nginx.conf
Nginx 配置文件,定义了缓存服务的具体配置,如缓存大小、日志格式等。
user nginx;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server {
listen 80;
server_name _;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
lancache-dns.conf
DNS 服务配置文件,定义了 DNS 服务的具体配置,如上游 DNS 服务器等。
server {
listen 53 udp;
listen 53 tcp;
upstream_dns 8.8.8.8;
cache {
size 1g;
serve_stale on;
}
}
以上是 multiplay/lancache
项目的关键配置文件