Writing / Detail

我的 Docker Compose

2026.03.25
Docker
4332 Words
- Views
- Comments

话不多说 直接给了.

openlist

挂载网盘的

docker-compose.yml

services:
openlist:
image: 'openlistteam/openlist:latest'
container_name: openlist
network_mode: bridge
user: '0:0'
volumes:
- './data:/opt/openlist/data'
ports:
- '5244:5244'
environment:
- UMASK=022
- TZ=Asia/Shanghai
restart: always

emby

自建影视服务器喽,顺便加个代理刮削,使用host网络就不用改代理地址

docker-compose.yml

services:
emby:
image: emby/embyserver_arm64v8 # X86架构镜像: emby/embyserver
container_name: emby
restart: always
network_mode: host
ports:
- 8096:8096
environment:
- TZ=Asia/Shanghai
- HTTP_PROXY=http://127.0.0.1:7890
- HTTPS_PROXY=http://127.0.0.1:7890
- ALL_PROXY=http://127.0.0.1:7890
volumes:
- ./config:/config
- <自定义路径>:/media

go-emby2openlist

重定向 emby 服务器中 strm 文件的 与 emby openlist 搭配使用 配置文件说明 https://github.com/AmbitiousJun/go-emby2openlist

docker-compose.yml

services:
go-emby2openlist:
build:
context: .
dockerfile: Dockerfile
environment:
- TZ=Asia/Shanghai
- GIN_MODE=release
container_name: go-emby2openlist
network_mode: host
restart: always
volumes:
- ./config.yml:/app/config.yml
# - ./lib:/app/lib 不需要ffmpeg
# - ./openlist-local-tree:/app/openlist-local-tree 不使用strm生成
ports:
- 8095:8095 # http

mihomo

docker版本的小喵,需要先准备好 config.yaml 配置文件 以下基本配置自用 需要自行加入节点

docker-compose.yml

services:
mihomo:
image: metacubex/mihomo:latest
container_name: mihomo
network_mode: host
restart: always
ports:
- "7890:7890"
- "9090:9090"
volumes:
- ./config.yaml:/root/.config/mihomo/config.yaml
environment:
MIHOMO_CONFIG_DIRECTORY: "/root/.config/mihomo"

config.yaml

mixed-port: 7890
allow-lan: true
bind-address: '*'
mode: rule
log-level: error
dns:
enable: true
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
use-hosts: true
nameserver:
- 8.8.8.8
- 1.1.1.1
fallback:
- https://dns.cloudflare.com/dns-query
- tls://8.8.8.8
- tls://1.1.1.1
fallback-filter:
geoip: true
geoip-code: CN
ipcidr:
- 240.0.0.0/4
fake-ip-filter:
- '*.lan'
- '*.local'
- 'localhost'
- 'ntp.org'
- 'time.*'
- 'connectivitycheck.gstatic.com'
- 'detectportal.firefox.com'
proxy-server-nameserver:
- 8.8.8.8
- 1.1.1.1
proxies:
- <节点>
proxy-groups:
- <节点分组>
rules:
- <规则>
- 'DOMAIN,injections.adguard.org,DIRECT'
- 'DOMAIN,local.adguard.org,DIRECT'
- 'DOMAIN-SUFFIX,local,DIRECT'
- 'IP-CIDR,127.0.0.0/8,DIRECT'
- 'IP-CIDR,172.16.0.0/12,DIRECT'
- 'IP-CIDR,192.168.0.0/16,DIRECT'
- 'IP-CIDR,10.0.0.0/8,DIRECT'
- 'IP-CIDR,17.0.0.0/8,DIRECT'
- 'IP-CIDR,100.64.0.0/10,DIRECT'
- 'IP-CIDR,224.0.0.0/4,DIRECT'
- 'IP-CIDR6,fe80::/10,DIRECT'
- 'DOMAIN-SUFFIX,cn,DIRECT'
- 'DOMAIN-KEYWORD,-cn,DIRECT'
- 'GEOIP,CN,DIRECT'
- 'MATCH,DIRECT'

frp

玩穿透的

frps

docker-compose.yml

services:
frps:
image: kimi360/frpc:latest
container_name: frps
network_mode: host
restart: always
volumes:
- ./frps.toml:/frp/frps.toml

frps.toml

bindPort = 6900 # 自定义端口
auth.token = "<自定义token>"
transport.maxPoolCount = 1 # 连接池数

frpc

docker-compose.yml

services:
frpc:
image: kimi360/frpc:latest
container_name: frpc
network_mode: host
restart: always
volumes:
- ./frpc.toml:/frp/frpc.toml

frpc.toml

serverAddr = "<服务器IP>"
serverPort = 6900 # 与服务器frps端口一致
auth.token = "<与服务器自定义token一致>"
transport.poolCount = 1 # 连接数
# 以本地 emby 穿透到公网为例
[[proxies]]
name = "emby"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8096
remotePort = 8096
transport.useEncryption = true
transport.useCompression = true
# 启用健康检查,类型为 tcp
healthCheck.type = "tcp"
# 建立连接超时时间为 3 秒
healthCheck.timeoutSeconds = 3
# 连续 3 次检查失败,此 proxy 会被摘除
healthCheck.maxFailed = 3
# 每隔 10 秒进行一次健康检查
healthCheck.intervalSeconds = 10