nas-tools (不更新)
date
Sep 20, 2022
slug
nas-tools
status
Published
tags
Website
summary
docker-compose nastools
type
Post
说明
普通 linux 盒子,非各种 nas 系统 全程使用 root 用户,今后会更新为使用普通权限用户
安装 docker & portainer & nginx proxy manager (之后简称npm)
Portainer v2.15 后有新UI,好看很多
Portainer 先按官方示例安装就行,之后创建一个网络
docker network create nginx-proxy-manager然后进 portainer 安装 npm
version: "3"
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
# These ports are in format <host-port>:<container-port>
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '81:81' # Admin Web Port
# Add any other Stream port you want to expose
# - '21:21' # FTP
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
# Uncomment this if IPv6 is not enabled on your host
DISABLE_IPV6: 'true'
volumes:
- /root/nginxproxymanager/data:/data
- /root/nginxproxymanager/letsencrypt:/etc/letsencrypt
depends_on:
- db
networks:
- nginx-proxy-manager
db:
image: 'jc21/mariadb-aria:latest'
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- /root/nginxproxymanager/data/mysql:/var/lib/mysql
networks:
- nginx-proxy-manager
networks:
nginx-proxy-manager:
external: true成功后删掉 portainer 的容器,修改网络部分参数重装
docker run -d --network nginx-proxy-manager --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:2.15.0进 npm 配置好:
https://portainer:9443portainer 就可以正常访问了
安装 plex
下文均以 /box 为主要文件夹
plex 我使用 host 网络
version: "2.1"
services:
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
network_mode: host
environment:
- PUID=0
- PGID=0
- VERSION=public #参考文档选择版本
- PLEX_CLAIM=claim-xxxxxx #我使用的plex-pass版本
volumes:
- /box/plex/config:/config
- /box:/box
restart: unless-stopped由于使用的 host 网络,npm 反代时,ip 应该为 nginx-proxy-manager 网络的网关地址
进阶设置和 cloudflare 部分暂时略过
安装 qBittorrent
version: "2.1"
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
networks:
- nginx-proxy-manager
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
- WEBUI_PORT=8080
volumes:
- /box/qbittorrent/appdata/config:/config
- /box:/box
ports:
- 16881:16881
- 16881:16881/udp
restart: unless-stopped
networks:
nginx-proxy-manager:
external: true我映射的 /box 目录,实际下载到 /box/downloads 下的 movie 和 tv 文件夹,具体在 qb 里设置
安装 jackett
version: "2.1"
services:
jackett:
image: lscr.io/linuxserver/jackett:latest
container_name: jackett
networks:
- nginx-proxy-manager
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
- AUTO_UPDATE=true #optional
volumes:
- /box/jackett/config:/config
- /box/jackett/downloads:/downloads
restart: unless-stopped
networks:
nginx-proxy-manager:
external: truenas-tools
version: "3.4"
services:
nastools:
image: jxxghp/nas-tools:latest
container_name: nastools
hostname: nastools
networks:
- nginx-proxy-manager
volumes:
- /box/nastools/config:/config # 冒号左边请修改为你想保存配置的路径
- /box:/box # 映射数据目录
environment:
- PUID=0
- PGID=0
- TZ=Asia/Shanghai
- UMASK=022 # 掩码权限,默认000,可以考虑设置为022
restart: always
networks:
nginx-proxy-manager:
external: true同样映射的 /box 目录
安装 chinesesubfinder
version: "3"
services:
chinesesubfinder:
image: allanpk716/chinesesubfinder:latest
volumes:
- /box/chinesesubfinder/config:/config # 冒号左边请修改为你想在主机上保存配置、日志等文件的路径
- /box:/box # 请修改为你的媒体目录,冒号右边可以改成你方便记忆的目录,多个媒体目录需要分别映射进来
- /box/chinesesubfinder/browser:/root/.cache/rod/browser # 容器重启后无需再次下载 chrome,除非 go-rod 更新
environment:
- PUID=0 # uid
- PGID=0 # gid
- PERMS=true # 是否重设/media权限
- TZ=Asia/Shanghai # 时区
- UMASK=022 # 权限掩码
restart: always
network_mode: bridge
hostname: chinesesubfinder
container_name: chinesesubfinder
networks:
- nginx-proxy-manager
logging:
driver: "json-file"
options:
max-size: "100m" # 限制docker控制台日志大小,可自行调整
networks:
nginx-proxy-manager:
external: true